├── .gitignore
├── .vsconfig
├── Assets
├── DecalSample.unity
├── DecalSample.unity.meta
├── Editor.meta
├── Editor
│ ├── AllocateTest.cs
│ ├── AllocateTest.cs.meta
│ ├── Resources.meta
│ └── Resources
│ │ ├── Test.prefab
│ │ └── Test.prefab.meta
├── MainRenderer.asset
├── MainRenderer.asset.meta
├── Models.meta
├── Models
│ ├── Armature.fbx
│ ├── Armature.fbx.meta
│ ├── Locomotion--Run_N.anim.fbx
│ ├── Locomotion--Run_N.anim.fbx.meta
│ ├── Locomotion--Walk_N.anim.fbx
│ ├── Locomotion--Walk_N.anim.fbx.meta
│ ├── Run.controller
│ ├── Run.controller.meta
│ ├── Walk.controller
│ └── Walk.controller.meta
├── SimpleLitFakeShadow.mat
├── SimpleLitFakeShadow.mat.meta
├── SimpleLitFakeShadow.shader
├── SimpleLitFakeShadow.shader.meta
├── UniversalRPAsset.asset
├── UniversalRPAsset.asset.meta
├── UniversalRenderPipelineGlobalSettings.asset
├── UniversalRenderPipelineGlobalSettings.asset.meta
├── _DecalAssets.meta
└── _DecalAssets
│ ├── FakeShadow.cs
│ ├── FakeShadow.cs.meta
│ ├── FakeShadowCaster.shader
│ ├── FakeShadowCaster.shader.meta
│ ├── FakeShadowPassFeature.cs
│ ├── FakeShadowPassFeature.cs.meta
│ ├── For_DecalProjector.meta
│ ├── For_DecalProjector
│ ├── BlobShadowByDecal.mat
│ ├── BlobShadowByDecal.mat.meta
│ ├── FakeShadowByDecal.mat
│ ├── FakeShadowByDecal.mat.meta
│ ├── FakeShadowByDecal.shader
│ └── FakeShadowByDecal.shader.meta
│ ├── SimpleDecalForBlob.shadergraph
│ └── SimpleDecalForBlob.shadergraph.meta
├── LICENSE
├── Packages
├── manifest.json
└── packages-lock.json
├── ProjectSettings
├── AudioManager.asset
├── BurstAotSettings_Switch.json
├── ClusterInputManager.asset
├── CommonBurstAotSettings.json
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── MemorySettings.asset
├── NavMeshAreas.asset
├── PackageManagerSettings.asset
├── Packages
│ └── com.unity.testtools.codecoverage
│ │ └── Settings.json
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── SceneTemplateSettings.json
├── ShaderGraphSettings.asset
├── TagManager.asset
├── TimeManager.asset
├── URPProjectSettings.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
├── VersionControlSettings.asset
├── XRSettings.asset
└── boot.config
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 |
13 | # Asset meta data should only be ignored when the corresponding asset is also ignored
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # Autogenerated Jetbrains Rider plugin
20 | [Aa]ssets/Plugins/Editor/JetBrains*
21 |
22 | # Visual Studio cache directory
23 | .vs/
24 |
25 | # Gradle cache directory
26 | .gradle/
27 |
28 | # Autogenerated VS/MD/Consulo solution and project files
29 | ExportedObj/
30 | .consulo/
31 | *.csproj
32 | *.unityproj
33 | *.sln
34 | *.suo
35 | *.tmp
36 | *.user
37 | *.userprefs
38 | *.pidb
39 | *.booproj
40 | *.svd
41 | *.pdb
42 | *.mdb
43 | *.opendb
44 | *.VC.db
45 |
46 | # Unity3D generated meta files
47 | *.pidb.meta
48 | *.pdb.meta
49 | *.mdb.meta
50 |
51 | # Unity3D generated file on crash reports
52 | sysinfo.txt
53 |
54 | # Builds
55 | *.apk
56 | *.unitypackage
57 | UserSettings/
58 |
59 | # Crashlytics generated file
60 | crashlytics-build.properties
61 |
62 |
--------------------------------------------------------------------------------
/.vsconfig:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0",
3 | "components": [
4 | "Microsoft.VisualStudio.Workload.ManagedGame"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/Assets/DecalSample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d75a2bdbbe24a294aa2c352af0d50b3a
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 876028a9c343ca14b8752733d451a7ed
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Editor/AllocateTest.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yugo-unity/DecalFakeShadow/4b41e2323be6de5cc1c18a560b464498b071968c/Assets/Editor/AllocateTest.cs
--------------------------------------------------------------------------------
/Assets/Editor/AllocateTest.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 02ac96fa8b233bf49b3114b01d5867a9
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Editor/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a1430b7a69d257647a7908a0655b8d36
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Editor/Resources/Test.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &7289156878996670007
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 7688457025383071025}
12 | m_Layer: 0
13 | m_Name: Test
14 | m_TagString: Untagged
15 | m_Icon: {fileID: 0}
16 | m_NavMeshLayer: 0
17 | m_StaticEditorFlags: 0
18 | m_IsActive: 1
19 | --- !u!4 &7688457025383071025
20 | Transform:
21 | m_ObjectHideFlags: 0
22 | m_CorrespondingSourceObject: {fileID: 0}
23 | m_PrefabInstance: {fileID: 0}
24 | m_PrefabAsset: {fileID: 0}
25 | m_GameObject: {fileID: 7289156878996670007}
26 | m_LocalRotation: {x: 0.70710677, y: -0.00000005960465, z: 0.3535534, w: 0.61237246}
27 | m_LocalPosition: {x: 3.0199835, y: -0.6534915, z: 0.056538038}
28 | m_LocalScale: {x: 5, y: 8, z: 3}
29 | m_ConstrainProportionsScale: 0
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | m_RootOrder: 0
33 | m_LocalEulerAnglesHint: {x: 60, y: 90, z: 120}
34 |
--------------------------------------------------------------------------------
/Assets/Editor/Resources/Test.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: caa2dc98cddc03947a971f4a32d528f6
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/MainRenderer.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-3986180453801235592
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: a1614fc811f8f184697d9bee70ab9fe5, type: 3}
13 | m_Name: DecalRendererFeature
14 | m_EditorClassIdentifier:
15 | m_Active: 1
16 | m_Settings:
17 | technique: 2
18 | maxDrawDistance: 10
19 | dBufferSettings:
20 | surfaceData: 2
21 | screenSpaceSettings:
22 | normalBlend: 0
23 | useGBuffer: 0
24 | m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
25 | m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
26 | --- !u!114 &11400000
27 | MonoBehaviour:
28 | m_ObjectHideFlags: 0
29 | m_CorrespondingSourceObject: {fileID: 0}
30 | m_PrefabInstance: {fileID: 0}
31 | m_PrefabAsset: {fileID: 0}
32 | m_GameObject: {fileID: 0}
33 | m_Enabled: 1
34 | m_EditorHideFlags: 0
35 | m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
36 | m_Name: MainRenderer
37 | m_EditorClassIdentifier:
38 | debugShaders:
39 | debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
40 | m_RendererFeatures:
41 | - {fileID: -3986180453801235592}
42 | - {fileID: 869635668175901157}
43 | m_RendererFeatureMap: 786b9238ff3daec8e551a25d0891110c
44 | m_UseNativeRenderPass: 0
45 | postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
46 | xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
47 | shaders:
48 | blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
49 | copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
50 | screenSpaceShadowPS: {fileID: 0}
51 | samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
52 | stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
53 | fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
54 | materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3}
55 | coreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
56 | coreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
57 | cameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
58 | objectMotionVector: {fileID: 4800000, guid: 7b3ede40266cd49a395def176e1bc486, type: 3}
59 | m_AssetVersion: 2
60 | m_OpaqueLayerMask:
61 | serializedVersion: 2
62 | m_Bits: 39
63 | m_TransparentLayerMask:
64 | serializedVersion: 2
65 | m_Bits: 4294967295
66 | m_DefaultStencilState:
67 | overrideStencilState: 0
68 | stencilReference: 0
69 | stencilCompareFunction: 8
70 | passOperation: 2
71 | failOperation: 0
72 | zFailOperation: 0
73 | m_ShadowTransparentReceive: 1
74 | m_RenderingMode: 0
75 | m_DepthPrimingMode: 2
76 | m_CopyDepthMode: 0
77 | m_AccurateGbufferNormals: 0
78 | m_ClusteredRendering: 0
79 | m_TileSize: 32
80 | m_IntermediateTextureMode: 1
81 | --- !u!114 &869635668175901157
82 | MonoBehaviour:
83 | m_ObjectHideFlags: 0
84 | m_CorrespondingSourceObject: {fileID: 0}
85 | m_PrefabInstance: {fileID: 0}
86 | m_PrefabAsset: {fileID: 0}
87 | m_GameObject: {fileID: 0}
88 | m_Enabled: 1
89 | m_EditorHideFlags: 0
90 | m_Script: {fileID: 11500000, guid: 90c6089b20f87c044b6165a4964a0c65, type: 3}
91 | m_Name: FakeShadowPassFeature
92 | m_EditorClassIdentifier:
93 | m_Active: 1
94 | characterLayer:
95 | serializedVersion: 2
96 | m_Bits: 64
97 | fakeShadowShader: {fileID: 4800000, guid: 45b2d29dd53159e44b9d21ec63d25600, type: 3}
98 | maxShadowCount: 4
99 | decalMapSize: 512
100 |
--------------------------------------------------------------------------------
/Assets/MainRenderer.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a05d2b51d87bcc04980b3b6f00c64c62
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Models.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ed28ee1e2bd4be64fbaa8d97fc522682
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Models/Armature.fbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yugo-unity/DecalFakeShadow/4b41e2323be6de5cc1c18a560b464498b071968c/Assets/Models/Armature.fbx
--------------------------------------------------------------------------------
/Assets/Models/Armature.fbx.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1c632b1b9185bc43aafd480e0799531
3 | ModelImporter:
4 | serializedVersion: 21300
5 | internalIDToNameTable:
6 | - first:
7 | 74: 1827226128182048838
8 | second: Take 001
9 | externalObjects: {}
10 | materials:
11 | materialImportMode: 0
12 | materialName: 0
13 | materialSearch: 1
14 | materialLocation: 1
15 | animations:
16 | legacyGenerateAnimations: 4
17 | bakeSimulation: 0
18 | resampleCurves: 1
19 | optimizeGameObjects: 0
20 | removeConstantScaleCurves: 1
21 | motionNodeName:
22 | rigImportErrors:
23 | rigImportWarnings:
24 | animationImportErrors:
25 | animationImportWarnings:
26 | animationRetargetingWarnings:
27 | animationDoRetargetingWarnings: 0
28 | importAnimatedCustomProperties: 0
29 | importConstraints: 0
30 | animationCompression: 3
31 | animationRotationError: 0.5
32 | animationPositionError: 0.5
33 | animationScaleError: 0.5
34 | animationWrapMode: 0
35 | extraExposedTransformPaths: []
36 | extraUserProperties: []
37 | clipAnimations: []
38 | isReadable: 0
39 | meshes:
40 | lODScreenPercentages: []
41 | globalScale: 1
42 | meshCompression: 0
43 | addColliders: 0
44 | useSRGBMaterialColor: 1
45 | sortHierarchyByName: 1
46 | importVisibility: 0
47 | importBlendShapes: 0
48 | importCameras: 0
49 | importLights: 0
50 | nodeNameCollisionStrategy: 1
51 | fileIdsGeneration: 2
52 | swapUVChannels: 0
53 | generateSecondaryUV: 0
54 | useFileUnits: 1
55 | keepQuads: 0
56 | weldVertices: 1
57 | bakeAxisConversion: 0
58 | preserveHierarchy: 0
59 | skinWeightsMode: 0
60 | maxBonesPerVertex: 4
61 | minBoneWeight: 0.001
62 | optimizeBones: 0
63 | meshOptimizationFlags: -1
64 | indexFormat: 0
65 | secondaryUVAngleDistortion: 8
66 | secondaryUVAreaDistortion: 15.000001
67 | secondaryUVHardAngle: 88
68 | secondaryUVMarginMethod: 1
69 | secondaryUVMinLightmapResolution: 40
70 | secondaryUVMinObjectScale: 1
71 | secondaryUVPackMargin: 4
72 | useFileScale: 1
73 | tangentSpace:
74 | normalSmoothAngle: 60
75 | normalImportMode: 0
76 | tangentImportMode: 3
77 | normalCalculationMode: 4
78 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
79 | blendShapeNormalImportMode: 1
80 | normalSmoothingSource: 0
81 | referencedClips: []
82 | importAnimation: 0
83 | humanDescription:
84 | serializedVersion: 3
85 | human: []
86 | skeleton:
87 | - name: Armature(Clone)
88 | parentName:
89 | position: {x: -0, y: 0, z: 0}
90 | rotation: {x: 0, y: -0, z: -0, w: 1}
91 | scale: {x: 1, y: 1, z: 1}
92 | - name: Skeleton
93 | parentName: Armature(Clone)
94 | position: {x: -0, y: 0, z: 0}
95 | rotation: {x: 0, y: -0, z: -0, w: 1}
96 | scale: {x: 1, y: 1, z: 1}
97 | - name: Hips
98 | parentName: Skeleton
99 | position: {x: -0, y: 0.9810986, z: -0.01590455}
100 | rotation: {x: 0, y: -0, z: -0, w: 1}
101 | scale: {x: 1, y: 1, z: 1}
102 | - name: Spine
103 | parentName: Hips
104 | position: {x: -0, y: 0.058229383, z: 0.0012229546}
105 | rotation: {x: 0, y: -0, z: -0, w: 1}
106 | scale: {x: 1, y: 1, z: 1}
107 | - name: Chest
108 | parentName: Spine
109 | position: {x: -0, y: 0.1034043, z: 0}
110 | rotation: {x: 0, y: -0, z: -0, w: 1}
111 | scale: {x: 1, y: 1, z: 1}
112 | - name: UpperChest
113 | parentName: Chest
114 | position: {x: -0, y: 0.1034043, z: 0}
115 | rotation: {x: 0, y: -0, z: -0, w: 1}
116 | scale: {x: 1, y: 1, z: 1}
117 | - name: Neck
118 | parentName: UpperChest
119 | position: {x: -0, y: 0.25104657, z: -0.015329581}
120 | rotation: {x: 0.060688436, y: 0, z: -0, w: 0.9981568}
121 | scale: {x: 1, y: 1, z: 1}
122 | - name: Head
123 | parentName: Neck
124 | position: {x: -0, y: 0.12747401, z: 0}
125 | rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568}
126 | scale: {x: 1, y: 1, z: 1}
127 | - name: Right_Eye
128 | parentName: Head
129 | position: {x: 0.033303294, y: 0.03459628, z: 0.0867403}
130 | rotation: {x: 0.7071068, y: 8.2834407e-16, z: 0.7071068, w: -8.2834407e-16}
131 | scale: {x: 1, y: 1, z: 1}
132 | - name: Left_Eye
133 | parentName: Head
134 | position: {x: -0.03330326, y: 0.034598116, z: 0.0867403}
135 | rotation: {x: -0, y: 0.7071068, z: 0, w: 0.7071068}
136 | scale: {x: 1, y: 1, z: 1}
137 | - name: Jaw
138 | parentName: Head
139 | position: {x: -0, y: -0.00763539, z: 0.012895278}
140 | rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485}
141 | scale: {x: 1, y: 1, z: 1}
142 | - name: Neck_Twist_A
143 | parentName: Neck
144 | position: {x: -0, y: 0.063737005, z: 0}
145 | rotation: {x: 0, y: -0, z: -0, w: 1}
146 | scale: {x: 1, y: 1, z: 1}
147 | - name: Left_Shoulder
148 | parentName: UpperChest
149 | position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945}
150 | rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024}
151 | scale: {x: 1, y: 1, z: 1}
152 | - name: Left_UpperArm
153 | parentName: Left_Shoulder
154 | position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17}
155 | rotation: {x: 0.12673508, y: 0.033320725, z: 0.6809724, w: 0.72048914}
156 | scale: {x: 1, y: 1, z: 1}
157 | - name: Left_LowerArm
158 | parentName: Left_UpperArm
159 | position: {x: -2.8421706e-16, y: 0.28508067, z: 0}
160 | rotation: {x: 0.020536544, y: 0.008321507, z: -0.020624323, w: 0.9995417}
161 | scale: {x: 1, y: 1, z: 1}
162 | - name: Left_Hand
163 | parentName: Left_LowerArm
164 | position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16}
165 | rotation: {x: -0.047397237, y: -0.24003564, z: 0.013464748, w: 0.9695128}
166 | scale: {x: 1, y: 1, z: 1}
167 | - name: Left_PinkyProximal
168 | parentName: Left_Hand
169 | position: {x: 0.004436847, y: 0.07288173, z: -0.029359013}
170 | rotation: {x: -0.020069664, y: -0.55048966, z: -0.008246744, w: 0.83456}
171 | scale: {x: 1, y: 1, z: 1}
172 | - name: Left_PinkyIntermediate
173 | parentName: Left_PinkyProximal
174 | position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16}
175 | rotation: {x: 0.028111596, y: 0.00000017881392, z: 0.0000007916241, w: 0.9996048}
176 | scale: {x: 1, y: 1, z: 1}
177 | - name: Left_PinkyDistal
178 | parentName: Left_PinkyIntermediate
179 | position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17}
180 | rotation: {x: 0.03643496, y: 0.00000007135539, z: 0.00000037864467, w: 0.99933606}
181 | scale: {x: 1, y: 1, z: 1}
182 | - name: Left_PinkyDistalEnd
183 | parentName: Left_PinkyDistal
184 | position: {x: -1.2434495e-16, y: 0.018519057, z: 0}
185 | rotation: {x: 0, y: -0, z: -0, w: 1}
186 | scale: {x: 1, y: 1, z: 1}
187 | - name: Left_RingProximal
188 | parentName: Left_Hand
189 | position: {x: 0.009525569, y: 0.08161553, z: -0.012242405}
190 | rotation: {x: -0.017653849, y: -0.6026994, z: -0.0040523997, w: 0.7977627}
191 | scale: {x: 1, y: 1, z: 1}
192 | - name: Left_RingIntermediate
193 | parentName: Left_RingProximal
194 | position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16}
195 | rotation: {x: 0.023556646, y: -0.0000001192093, z: -0.000000054016716, w: 0.99972254}
196 | scale: {x: 1, y: 1, z: 1}
197 | - name: Left_RingDistal
198 | parentName: Left_RingIntermediate
199 | position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16}
200 | rotation: {x: 0.039088424, y: -0.00000006426068, z: -0.00000028266237, w: 0.99923575}
201 | scale: {x: 1, y: 1, z: 1}
202 | - name: Left_RingDistalEnd
203 | parentName: Left_RingDistal
204 | position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17}
205 | rotation: {x: 0, y: -0, z: -0, w: 1}
206 | scale: {x: 1, y: 1, z: 1}
207 | - name: Left_MiddleProximal
208 | parentName: Left_Hand
209 | position: {x: 0.012847862, y: 0.08609763, z: 0.003435423}
210 | rotation: {x: -0.004089733, y: -0.66108114, z: -0.0040015387, w: 0.75029266}
211 | scale: {x: 1, y: 1, z: 1}
212 | - name: Left_MiddleIntermediate
213 | parentName: Left_MiddleProximal
214 | position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17}
215 | rotation: {x: 0.02623109, y: 0.00000020861621, z: 0.0000006621702, w: 0.99965596}
216 | scale: {x: 1, y: 1, z: 1}
217 | - name: Left_MiddleDistal
218 | parentName: Left_MiddleIntermediate
219 | position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17}
220 | rotation: {x: 0.03347514, y: 0, z: -0, w: 0.9994396}
221 | scale: {x: 1, y: 1, z: 1}
222 | - name: Left_MiddleDistalEnd
223 | parentName: Left_MiddleDistal
224 | position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17}
225 | rotation: {x: 0, y: -0, z: -0, w: 1}
226 | scale: {x: 1, y: 1, z: 1}
227 | - name: Left_IndexProximal
228 | parentName: Left_Hand
229 | position: {x: 0.007815497, y: 0.0918443, z: 0.02657316}
230 | rotation: {x: -0.00007974913, y: -0.7104806, z: -0.0063057938, w: 0.7036885}
231 | scale: {x: 1, y: 1, z: 1}
232 | - name: Left_IndexIntermediate
233 | parentName: Left_IndexProximal
234 | position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16}
235 | rotation: {x: 0.030200941, y: -0, z: -0.000001784414, w: 0.9995439}
236 | scale: {x: 1, y: 1, z: 1}
237 | - name: Left_IndexDistal
238 | parentName: Left_IndexIntermediate
239 | position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16}
240 | rotation: {x: 0.03945639, y: -0.0000000546031, z: 0.0000007955681, w: 0.9992213}
241 | scale: {x: 1, y: 1, z: 1}
242 | - name: Left_IndexDistalEnd
243 | parentName: Left_IndexDistal
244 | position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17}
245 | rotation: {x: 0, y: -0, z: -0, w: 1}
246 | scale: {x: 1, y: 1, z: 1}
247 | - name: Left_ThumbProximal
248 | parentName: Left_Hand
249 | position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476}
250 | rotation: {x: 0.17960395, y: 0.884174, z: 0.4239894, w: -0.07881539}
251 | scale: {x: 1, y: 1, z: 1}
252 | - name: Left_ThumbIntermediate
253 | parentName: Left_ThumbProximal
254 | position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592}
255 | rotation: {x: 0.12780538, y: 0, z: -0, w: 0.9917993}
256 | scale: {x: 1, y: 1, z: 1}
257 | - name: Left_ThumbDistal
258 | parentName: Left_ThumbIntermediate
259 | position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915}
260 | rotation: {x: -0.045420934, y: -0.000000030482195, z: 0.000002678266, w: 0.99896795}
261 | scale: {x: 1, y: 1, z: 1}
262 | - name: Left_ThumbDistalEnd
263 | parentName: Left_ThumbDistal
264 | position: {x: -4.2632555e-16, y: 0.029458016, z: 0}
265 | rotation: {x: 0, y: -0, z: -0, w: 1}
266 | scale: {x: 1, y: 1, z: 1}
267 | - name: Right_Shoulder
268 | parentName: UpperChest
269 | position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803}
270 | rotation: {x: 0.99258024, y: -0.043275386, z: -0.113521874, w: 0.0049494267}
271 | scale: {x: 1, y: 1, z: 1}
272 | - name: Right_UpperArm
273 | parentName: Right_Shoulder
274 | position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746}
275 | rotation: {x: 0.12673447, y: 0.033320908, z: 0.68096745, w: 0.7204939}
276 | scale: {x: 1, y: 1, z: 1}
277 | - name: Right_LowerArm
278 | parentName: Right_UpperArm
279 | position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226}
280 | rotation: {x: 0.020541213, y: 0.008317428, z: -0.020620946, w: 0.99954176}
281 | scale: {x: 1, y: 1, z: 1}
282 | - name: Right_Hand
283 | parentName: Right_LowerArm
284 | position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368}
285 | rotation: {x: -0.047397237, y: -0.24003564, z: 0.013464748, w: 0.9695128}
286 | scale: {x: 1, y: 1, z: 1}
287 | - name: Right_PinkyProximal
288 | parentName: Right_Hand
289 | position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566}
290 | rotation: {x: -0.02005783, y: -0.55049574, z: -0.008249196, w: 0.8345563}
291 | scale: {x: 1, y: 1, z: 1}
292 | - name: Right_PinkyIntermediate
293 | parentName: Right_PinkyProximal
294 | position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623}
295 | rotation: {x: 0.028116252, y: -0.0000036060806, z: 0.0000013830139, w: 0.9996047}
296 | scale: {x: 1, y: 1, z: 1}
297 | - name: Right_PinkyDistal
298 | parentName: Right_PinkyIntermediate
299 | position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345}
300 | rotation: {x: 0.036431823, y: -0.0000025322572, z: -0.000009713462, w: 0.9993362}
301 | scale: {x: 1, y: 1, z: 1}
302 | - name: Right_PinkyDistalEnd
303 | parentName: Right_PinkyDistal
304 | position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108}
305 | rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1}
306 | scale: {x: 1, y: 1, z: 1}
307 | - name: Right_RingProximal
308 | parentName: Right_Hand
309 | position: {x: -0.00952738, y: -0.08161427, z: 0.012242128}
310 | rotation: {x: -0.01764793, y: -0.6027018, z: -0.004053581, w: 0.7977611}
311 | scale: {x: 1, y: 1, z: 1}
312 | - name: Right_RingIntermediate
313 | parentName: Right_RingProximal
314 | position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335}
315 | rotation: {x: 0.023547076, y: 0.0000018775461, z: 0.0000070193773, w: 0.9997228}
316 | scale: {x: 1, y: 1, z: 1}
317 | - name: Right_RingDistal
318 | parentName: Right_RingIntermediate
319 | position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098}
320 | rotation: {x: 0.039100483, y: 0.00000013493441, z: -0.000005457965, w: 0.9992353}
321 | scale: {x: 1, y: 1, z: 1}
322 | - name: Right_RingDistalEnd
323 | parentName: Right_RingDistal
324 | position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459}
325 | rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1}
326 | scale: {x: 1, y: 1, z: 1}
327 | - name: Right_MiddleProximal
328 | parentName: Right_Hand
329 | position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337}
330 | rotation: {x: -0.0040855533, y: -0.6610818, z: -0.0040009613, w: 0.7502921}
331 | scale: {x: 1, y: 1, z: 1}
332 | - name: Right_MiddleIntermediate
333 | parentName: Right_MiddleProximal
334 | position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695}
335 | rotation: {x: 0.026226023, y: -0.0000010430809, z: -0.0000020442524, w: 0.9996561}
336 | scale: {x: 1, y: 1, z: 1}
337 | - name: Right_MiddleDistal
338 | parentName: Right_MiddleIntermediate
339 | position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916}
340 | rotation: {x: 0.03347514, y: 0, z: -0, w: 0.9994396}
341 | scale: {x: 1, y: 1, z: 1}
342 | - name: Right_MiddleDistalEnd
343 | parentName: Right_MiddleDistal
344 | position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584}
345 | rotation: {x: 0, y: -0, z: -0, w: 1}
346 | scale: {x: 1, y: 1, z: 1}
347 | - name: Right_IndexProximal
348 | parentName: Right_Hand
349 | position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574}
350 | rotation: {x: -0.00008779019, y: -0.71048135, z: -0.0063282885, w: 0.70368767}
351 | scale: {x: 1, y: 1, z: 1}
352 | - name: Right_IndexIntermediate
353 | parentName: Right_IndexProximal
354 | position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077}
355 | rotation: {x: 0.030203177, y: -0.0000006556509, z: 0.0000117874415, w: 0.99954385}
356 | scale: {x: 1, y: 1, z: 1}
357 | - name: Right_IndexDistal
358 | parentName: Right_IndexIntermediate
359 | position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629}
360 | rotation: {x: 0.03948152, y: 0.00000010287983, z: -0.0000048513234, w: 0.9992203}
361 | scale: {x: 1, y: 1, z: 1}
362 | - name: Right_IndexDistalEnd
363 | parentName: Right_IndexDistal
364 | position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131}
365 | rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1}
366 | scale: {x: 1, y: 1, z: 1}
367 | - name: Right_ThumbProximal
368 | parentName: Right_Hand
369 | position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695}
370 | rotation: {x: 0.17960708, y: 0.88417095, z: 0.4239951, w: -0.07881223}
371 | scale: {x: 1, y: 1, z: 1}
372 | - name: Right_ThumbIntermediate
373 | parentName: Right_ThumbProximal
374 | position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848}
375 | rotation: {x: 0.12780538, y: 0, z: -0, w: 0.9917993}
376 | scale: {x: 1, y: 1, z: 1}
377 | - name: Right_ThumbDistal
378 | parentName: Right_ThumbIntermediate
379 | position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783}
380 | rotation: {x: -0.04541879, y: -0.0000020913224, z: 0.0000065647023, w: 0.998968}
381 | scale: {x: 1, y: 1, z: 1}
382 | - name: Right_ThumbDistalEnd
383 | parentName: Right_ThumbDistal
384 | position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683}
385 | rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1}
386 | scale: {x: 1, y: 1, z: 1}
387 | - name: Left_UpperLeg
388 | parentName: Hips
389 | position: {x: -0.08610317, y: -0.053458035, z: -0.011470641}
390 | rotation: {x: 0.999839, y: -0.01775374, z: 0.00004630041, w: -0.0026075041}
391 | scale: {x: 1, y: 1, z: 1}
392 | - name: Left_LowerLeg
393 | parentName: Left_UpperLeg
394 | position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17}
395 | rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.7286215e-21, w: 0.9994203}
396 | scale: {x: 1, y: 1, z: 1}
397 | - name: Left_Foot
398 | parentName: Left_LowerLeg
399 | position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16}
400 | rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211}
401 | scale: {x: 1, y: 1, z: 1}
402 | - name: Left_Toes
403 | parentName: Left_Foot
404 | position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506}
405 | rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
406 | scale: {x: 1, y: 1, z: 1}
407 | - name: Left_ToesEnd
408 | parentName: Left_Toes
409 | position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978}
410 | rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656}
411 | scale: {x: 1, y: 1, z: 1}
412 | - name: Right_UpperLeg
413 | parentName: Hips
414 | position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475}
415 | rotation: {x: 0.0026075041, y: 0.00004630041, z: 0.01775374, w: 0.999839}
416 | scale: {x: 1, y: 1, z: 1}
417 | - name: Right_LowerLeg
418 | parentName: Right_UpperLeg
419 | position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435}
420 | rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.7286215e-21, w: 0.9994203}
421 | scale: {x: 1, y: 1, z: 1}
422 | - name: Right_Foot
423 | parentName: Right_LowerLeg
424 | position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502}
425 | rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211}
426 | scale: {x: 1, y: 1, z: 1}
427 | - name: Right_Toes
428 | parentName: Right_Foot
429 | position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807}
430 | rotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
431 | scale: {x: 1, y: 1, z: 1}
432 | - name: Right_ToesEnd
433 | parentName: Right_Toes
434 | position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898}
435 | rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656}
436 | scale: {x: 1, y: 1, z: 1}
437 | - name: Geometry
438 | parentName: Armature(Clone)
439 | position: {x: -0, y: 0, z: 0}
440 | rotation: {x: 0, y: -0, z: -0, w: 1}
441 | scale: {x: 1, y: 1, z: 1}
442 | - name: Armature_Mesh
443 | parentName: Geometry
444 | position: {x: -0, y: 0, z: 0}
445 | rotation: {x: 0, y: -0, z: -0, w: 1}
446 | scale: {x: 1, y: 1, z: 1}
447 | armTwist: 0.5
448 | foreArmTwist: 0.5
449 | upperLegTwist: 0.5
450 | legTwist: 0.5
451 | armStretch: 0.05
452 | legStretch: 0.05
453 | feetSpacing: 0
454 | globalScale: 1
455 | rootMotionBoneName:
456 | hasTranslationDoF: 0
457 | hasExtraRoot: 0
458 | skeletonHasParents: 1
459 | lastHumanDescriptionAvatarSource: {instanceID: 0}
460 | autoGenerateAvatarMappingIfUnspecified: 1
461 | animationType: 2
462 | humanoidOversampling: 1
463 | avatarSetup: 1
464 | addHumanoidExtraRootOnlyWhenUsingAvatar: 1
465 | remapMaterialsIfMaterialImportModeIsNone: 0
466 | additionalBone: 0
467 | userData:
468 | assetBundleName:
469 | assetBundleVariant:
470 |
--------------------------------------------------------------------------------
/Assets/Models/Locomotion--Run_N.anim.fbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yugo-unity/DecalFakeShadow/4b41e2323be6de5cc1c18a560b464498b071968c/Assets/Models/Locomotion--Run_N.anim.fbx
--------------------------------------------------------------------------------
/Assets/Models/Locomotion--Run_N.anim.fbx.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6eb00f3ce93caa14f88ef6b0cd9cff9c
3 | ModelImporter:
4 | serializedVersion: 21300
5 | internalIDToNameTable:
6 | - first:
7 | 74: 6564411413370888346
8 | second: Run_N
9 | externalObjects: {}
10 | materials:
11 | materialImportMode: 0
12 | materialName: 0
13 | materialSearch: 1
14 | materialLocation: 1
15 | animations:
16 | legacyGenerateAnimations: 4
17 | bakeSimulation: 0
18 | resampleCurves: 1
19 | optimizeGameObjects: 0
20 | removeConstantScaleCurves: 1
21 | motionNodeName:
22 | rigImportErrors:
23 | rigImportWarnings:
24 | animationImportErrors:
25 | animationImportWarnings:
26 | animationRetargetingWarnings:
27 | animationDoRetargetingWarnings: 0
28 | importAnimatedCustomProperties: 0
29 | importConstraints: 0
30 | animationCompression: 3
31 | animationRotationError: 0.5
32 | animationPositionError: 0.5
33 | animationScaleError: 0.5
34 | animationWrapMode: 0
35 | extraExposedTransformPaths: []
36 | extraUserProperties: []
37 | clipAnimations:
38 | - serializedVersion: 16
39 | name: Run_N
40 | takeName: Run_N
41 | internalID: 0
42 | firstFrame: 0
43 | lastFrame: 20
44 | wrapMode: 0
45 | orientationOffsetY: 0
46 | level: 0
47 | cycleOffset: 0
48 | loop: 0
49 | hasAdditiveReferencePose: 0
50 | loopTime: 1
51 | loopBlend: 0
52 | loopBlendOrientation: 0
53 | loopBlendPositionY: 0
54 | loopBlendPositionXZ: 0
55 | keepOriginalOrientation: 0
56 | keepOriginalPositionY: 1
57 | keepOriginalPositionXZ: 0
58 | heightFromFeet: 0
59 | mirror: 0
60 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
61 | curves: []
62 | events: []
63 | transformMask: []
64 | maskType: 3
65 | maskSource: {instanceID: 0}
66 | additiveReferencePoseFrame: 0
67 | isReadable: 0
68 | meshes:
69 | lODScreenPercentages: []
70 | globalScale: 1
71 | meshCompression: 0
72 | addColliders: 0
73 | useSRGBMaterialColor: 1
74 | sortHierarchyByName: 1
75 | importVisibility: 0
76 | importBlendShapes: 0
77 | importCameras: 0
78 | importLights: 0
79 | nodeNameCollisionStrategy: 1
80 | fileIdsGeneration: 2
81 | swapUVChannels: 0
82 | generateSecondaryUV: 0
83 | useFileUnits: 1
84 | keepQuads: 0
85 | weldVertices: 1
86 | bakeAxisConversion: 0
87 | preserveHierarchy: 0
88 | skinWeightsMode: 0
89 | maxBonesPerVertex: 4
90 | minBoneWeight: 0.001
91 | optimizeBones: 0
92 | meshOptimizationFlags: -1
93 | indexFormat: 0
94 | secondaryUVAngleDistortion: 8
95 | secondaryUVAreaDistortion: 15.000001
96 | secondaryUVHardAngle: 88
97 | secondaryUVMarginMethod: 1
98 | secondaryUVMinLightmapResolution: 40
99 | secondaryUVMinObjectScale: 1
100 | secondaryUVPackMargin: 4
101 | useFileScale: 1
102 | tangentSpace:
103 | normalSmoothAngle: 60
104 | normalImportMode: 2
105 | tangentImportMode: 2
106 | normalCalculationMode: 4
107 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
108 | blendShapeNormalImportMode: 2
109 | normalSmoothingSource: 0
110 | referencedClips: []
111 | importAnimation: 1
112 | humanDescription:
113 | serializedVersion: 3
114 | human: []
115 | skeleton:
116 | - name: Armature(Clone)
117 | parentName:
118 | position: {x: -0, y: 0, z: 0}
119 | rotation: {x: 0, y: -0, z: -0, w: 1}
120 | scale: {x: 1, y: 1, z: 1}
121 | - name: Skeleton
122 | parentName: Armature(Clone)
123 | position: {x: -0, y: 0, z: 0}
124 | rotation: {x: 0, y: -0, z: -0, w: 1}
125 | scale: {x: 1, y: 1, z: 1}
126 | - name: Hips
127 | parentName: Skeleton
128 | position: {x: -0, y: 0.9810986, z: -0.01590455}
129 | rotation: {x: 0, y: -0, z: -0, w: 1}
130 | scale: {x: 1, y: 1, z: 1}
131 | - name: Spine
132 | parentName: Hips
133 | position: {x: -0, y: 0.058229383, z: 0.0012229546}
134 | rotation: {x: 0, y: -0, z: -0, w: 1}
135 | scale: {x: 1, y: 1, z: 1}
136 | - name: Chest
137 | parentName: Spine
138 | position: {x: -0, y: 0.1034043, z: 0}
139 | rotation: {x: 0, y: -0, z: -0, w: 1}
140 | scale: {x: 1, y: 1, z: 1}
141 | - name: UpperChest
142 | parentName: Chest
143 | position: {x: -0, y: 0.1034043, z: 0}
144 | rotation: {x: 0, y: -0, z: -0, w: 1}
145 | scale: {x: 1, y: 1, z: 1}
146 | - name: Neck
147 | parentName: UpperChest
148 | position: {x: -0, y: 0.25104657, z: -0.015329581}
149 | rotation: {x: 0.060688436, y: 0, z: -0, w: 0.9981568}
150 | scale: {x: 1, y: 1, z: 1}
151 | - name: Head
152 | parentName: Neck
153 | position: {x: -0, y: 0.12747401, z: 0}
154 | rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568}
155 | scale: {x: 1, y: 1, z: 1}
156 | - name: Right_Eye
157 | parentName: Head
158 | position: {x: 0.033303294, y: 0.03459628, z: 0.0867403}
159 | rotation: {x: 0.7071068, y: 8.2834407e-16, z: 0.7071068, w: -8.2834407e-16}
160 | scale: {x: 1, y: 1, z: 1}
161 | - name: Left_Eye
162 | parentName: Head
163 | position: {x: -0.03330326, y: 0.034598116, z: 0.0867403}
164 | rotation: {x: -0, y: 0.7071068, z: 0, w: 0.7071068}
165 | scale: {x: 1, y: 1, z: 1}
166 | - name: Jaw
167 | parentName: Head
168 | position: {x: -0, y: -0.00763539, z: 0.012895278}
169 | rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485}
170 | scale: {x: 1, y: 1, z: 1}
171 | - name: Neck_Twist_A
172 | parentName: Neck
173 | position: {x: -0, y: 0.063737005, z: 0}
174 | rotation: {x: 0, y: -0, z: -0, w: 1}
175 | scale: {x: 1, y: 1, z: 1}
176 | - name: Left_Shoulder
177 | parentName: UpperChest
178 | position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945}
179 | rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024}
180 | scale: {x: 1, y: 1, z: 1}
181 | - name: Left_UpperArm
182 | parentName: Left_Shoulder
183 | position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17}
184 | rotation: {x: 0.12673508, y: 0.033320725, z: 0.6809724, w: 0.72048914}
185 | scale: {x: 1, y: 1, z: 1}
186 | - name: Left_LowerArm
187 | parentName: Left_UpperArm
188 | position: {x: -2.8421706e-16, y: 0.28508067, z: 0}
189 | rotation: {x: 0.020536544, y: 0.008321507, z: -0.020624323, w: 0.9995417}
190 | scale: {x: 1, y: 1, z: 1}
191 | - name: Left_Hand
192 | parentName: Left_LowerArm
193 | position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16}
194 | rotation: {x: -0.047397237, y: -0.24003564, z: 0.013464748, w: 0.9695128}
195 | scale: {x: 1, y: 1, z: 1}
196 | - name: Left_PinkyProximal
197 | parentName: Left_Hand
198 | position: {x: 0.004436847, y: 0.07288173, z: -0.029359013}
199 | rotation: {x: -0.020069664, y: -0.55048966, z: -0.008246744, w: 0.83456}
200 | scale: {x: 1, y: 1, z: 1}
201 | - name: Left_PinkyIntermediate
202 | parentName: Left_PinkyProximal
203 | position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16}
204 | rotation: {x: 0.028111596, y: 0.00000017881392, z: 0.0000007916241, w: 0.9996048}
205 | scale: {x: 1, y: 1, z: 1}
206 | - name: Left_PinkyDistal
207 | parentName: Left_PinkyIntermediate
208 | position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17}
209 | rotation: {x: 0.03643496, y: 0.00000007135539, z: 0.00000037864467, w: 0.99933606}
210 | scale: {x: 1, y: 1, z: 1}
211 | - name: Left_PinkyDistalEnd
212 | parentName: Left_PinkyDistal
213 | position: {x: -1.2434495e-16, y: 0.018519057, z: 0}
214 | rotation: {x: 0, y: -0, z: -0, w: 1}
215 | scale: {x: 1, y: 1, z: 1}
216 | - name: Left_RingProximal
217 | parentName: Left_Hand
218 | position: {x: 0.009525569, y: 0.08161553, z: -0.012242405}
219 | rotation: {x: -0.017653849, y: -0.6026994, z: -0.0040523997, w: 0.7977627}
220 | scale: {x: 1, y: 1, z: 1}
221 | - name: Left_RingIntermediate
222 | parentName: Left_RingProximal
223 | position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16}
224 | rotation: {x: 0.023556646, y: -0.0000001192093, z: -0.000000054016716, w: 0.99972254}
225 | scale: {x: 1, y: 1, z: 1}
226 | - name: Left_RingDistal
227 | parentName: Left_RingIntermediate
228 | position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16}
229 | rotation: {x: 0.039088424, y: -0.00000006426068, z: -0.00000028266237, w: 0.99923575}
230 | scale: {x: 1, y: 1, z: 1}
231 | - name: Left_RingDistalEnd
232 | parentName: Left_RingDistal
233 | position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17}
234 | rotation: {x: 0, y: -0, z: -0, w: 1}
235 | scale: {x: 1, y: 1, z: 1}
236 | - name: Left_MiddleProximal
237 | parentName: Left_Hand
238 | position: {x: 0.012847862, y: 0.08609763, z: 0.003435423}
239 | rotation: {x: -0.004089733, y: -0.66108114, z: -0.0040015387, w: 0.75029266}
240 | scale: {x: 1, y: 1, z: 1}
241 | - name: Left_MiddleIntermediate
242 | parentName: Left_MiddleProximal
243 | position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17}
244 | rotation: {x: 0.02623109, y: 0.00000020861621, z: 0.0000006621702, w: 0.99965596}
245 | scale: {x: 1, y: 1, z: 1}
246 | - name: Left_MiddleDistal
247 | parentName: Left_MiddleIntermediate
248 | position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17}
249 | rotation: {x: 0.03347514, y: 0, z: -0, w: 0.9994396}
250 | scale: {x: 1, y: 1, z: 1}
251 | - name: Left_MiddleDistalEnd
252 | parentName: Left_MiddleDistal
253 | position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17}
254 | rotation: {x: 0, y: -0, z: -0, w: 1}
255 | scale: {x: 1, y: 1, z: 1}
256 | - name: Left_IndexProximal
257 | parentName: Left_Hand
258 | position: {x: 0.007815497, y: 0.0918443, z: 0.02657316}
259 | rotation: {x: -0.00007974913, y: -0.7104806, z: -0.0063057938, w: 0.7036885}
260 | scale: {x: 1, y: 1, z: 1}
261 | - name: Left_IndexIntermediate
262 | parentName: Left_IndexProximal
263 | position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16}
264 | rotation: {x: 0.030200941, y: -0, z: -0.000001784414, w: 0.9995439}
265 | scale: {x: 1, y: 1, z: 1}
266 | - name: Left_IndexDistal
267 | parentName: Left_IndexIntermediate
268 | position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16}
269 | rotation: {x: 0.03945639, y: -0.0000000546031, z: 0.0000007955681, w: 0.9992213}
270 | scale: {x: 1, y: 1, z: 1}
271 | - name: Left_IndexDistalEnd
272 | parentName: Left_IndexDistal
273 | position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17}
274 | rotation: {x: 0, y: -0, z: -0, w: 1}
275 | scale: {x: 1, y: 1, z: 1}
276 | - name: Left_ThumbProximal
277 | parentName: Left_Hand
278 | position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476}
279 | rotation: {x: 0.17960395, y: 0.884174, z: 0.4239894, w: -0.07881539}
280 | scale: {x: 1, y: 1, z: 1}
281 | - name: Left_ThumbIntermediate
282 | parentName: Left_ThumbProximal
283 | position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592}
284 | rotation: {x: 0.12780538, y: 0, z: -0, w: 0.9917993}
285 | scale: {x: 1, y: 1, z: 1}
286 | - name: Left_ThumbDistal
287 | parentName: Left_ThumbIntermediate
288 | position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915}
289 | rotation: {x: -0.045420934, y: -0.000000030482195, z: 0.000002678266, w: 0.99896795}
290 | scale: {x: 1, y: 1, z: 1}
291 | - name: Left_ThumbDistalEnd
292 | parentName: Left_ThumbDistal
293 | position: {x: -4.2632555e-16, y: 0.029458016, z: 0}
294 | rotation: {x: 0, y: -0, z: -0, w: 1}
295 | scale: {x: 1, y: 1, z: 1}
296 | - name: Right_Shoulder
297 | parentName: UpperChest
298 | position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803}
299 | rotation: {x: 0.99258024, y: -0.043275386, z: -0.113521874, w: 0.0049494267}
300 | scale: {x: 1, y: 1, z: 1}
301 | - name: Right_UpperArm
302 | parentName: Right_Shoulder
303 | position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746}
304 | rotation: {x: 0.12673447, y: 0.033320908, z: 0.68096745, w: 0.7204939}
305 | scale: {x: 1, y: 1, z: 1}
306 | - name: Right_LowerArm
307 | parentName: Right_UpperArm
308 | position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226}
309 | rotation: {x: 0.020541213, y: 0.008317428, z: -0.020620946, w: 0.99954176}
310 | scale: {x: 1, y: 1, z: 1}
311 | - name: Right_Hand
312 | parentName: Right_LowerArm
313 | position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368}
314 | rotation: {x: -0.047397237, y: -0.24003564, z: 0.013464748, w: 0.9695128}
315 | scale: {x: 1, y: 1, z: 1}
316 | - name: Right_PinkyProximal
317 | parentName: Right_Hand
318 | position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566}
319 | rotation: {x: -0.02005783, y: -0.55049574, z: -0.008249196, w: 0.8345563}
320 | scale: {x: 1, y: 1, z: 1}
321 | - name: Right_PinkyIntermediate
322 | parentName: Right_PinkyProximal
323 | position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623}
324 | rotation: {x: 0.028116252, y: -0.0000036060806, z: 0.0000013830139, w: 0.9996047}
325 | scale: {x: 1, y: 1, z: 1}
326 | - name: Right_PinkyDistal
327 | parentName: Right_PinkyIntermediate
328 | position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345}
329 | rotation: {x: 0.036431823, y: -0.0000025322572, z: -0.000009713462, w: 0.9993362}
330 | scale: {x: 1, y: 1, z: 1}
331 | - name: Right_PinkyDistalEnd
332 | parentName: Right_PinkyDistal
333 | position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108}
334 | rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1}
335 | scale: {x: 1, y: 1, z: 1}
336 | - name: Right_RingProximal
337 | parentName: Right_Hand
338 | position: {x: -0.00952738, y: -0.08161427, z: 0.012242128}
339 | rotation: {x: -0.01764793, y: -0.6027018, z: -0.004053581, w: 0.7977611}
340 | scale: {x: 1, y: 1, z: 1}
341 | - name: Right_RingIntermediate
342 | parentName: Right_RingProximal
343 | position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335}
344 | rotation: {x: 0.023547076, y: 0.0000018775461, z: 0.0000070193773, w: 0.9997228}
345 | scale: {x: 1, y: 1, z: 1}
346 | - name: Right_RingDistal
347 | parentName: Right_RingIntermediate
348 | position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098}
349 | rotation: {x: 0.039100483, y: 0.00000013493441, z: -0.000005457965, w: 0.9992353}
350 | scale: {x: 1, y: 1, z: 1}
351 | - name: Right_RingDistalEnd
352 | parentName: Right_RingDistal
353 | position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459}
354 | rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1}
355 | scale: {x: 1, y: 1, z: 1}
356 | - name: Right_MiddleProximal
357 | parentName: Right_Hand
358 | position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337}
359 | rotation: {x: -0.0040855533, y: -0.6610818, z: -0.0040009613, w: 0.7502921}
360 | scale: {x: 1, y: 1, z: 1}
361 | - name: Right_MiddleIntermediate
362 | parentName: Right_MiddleProximal
363 | position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695}
364 | rotation: {x: 0.026226023, y: -0.0000010430809, z: -0.0000020442524, w: 0.9996561}
365 | scale: {x: 1, y: 1, z: 1}
366 | - name: Right_MiddleDistal
367 | parentName: Right_MiddleIntermediate
368 | position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916}
369 | rotation: {x: 0.03347514, y: 0, z: -0, w: 0.9994396}
370 | scale: {x: 1, y: 1, z: 1}
371 | - name: Right_MiddleDistalEnd
372 | parentName: Right_MiddleDistal
373 | position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584}
374 | rotation: {x: 0, y: -0, z: -0, w: 1}
375 | scale: {x: 1, y: 1, z: 1}
376 | - name: Right_IndexProximal
377 | parentName: Right_Hand
378 | position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574}
379 | rotation: {x: -0.00008779019, y: -0.71048135, z: -0.0063282885, w: 0.70368767}
380 | scale: {x: 1, y: 1, z: 1}
381 | - name: Right_IndexIntermediate
382 | parentName: Right_IndexProximal
383 | position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077}
384 | rotation: {x: 0.030203177, y: -0.0000006556509, z: 0.0000117874415, w: 0.99954385}
385 | scale: {x: 1, y: 1, z: 1}
386 | - name: Right_IndexDistal
387 | parentName: Right_IndexIntermediate
388 | position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629}
389 | rotation: {x: 0.03948152, y: 0.00000010287983, z: -0.0000048513234, w: 0.9992203}
390 | scale: {x: 1, y: 1, z: 1}
391 | - name: Right_IndexDistalEnd
392 | parentName: Right_IndexDistal
393 | position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131}
394 | rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1}
395 | scale: {x: 1, y: 1, z: 1}
396 | - name: Right_ThumbProximal
397 | parentName: Right_Hand
398 | position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695}
399 | rotation: {x: 0.17960708, y: 0.88417095, z: 0.4239951, w: -0.07881223}
400 | scale: {x: 1, y: 1, z: 1}
401 | - name: Right_ThumbIntermediate
402 | parentName: Right_ThumbProximal
403 | position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848}
404 | rotation: {x: 0.12780538, y: 0, z: -0, w: 0.9917993}
405 | scale: {x: 1, y: 1, z: 1}
406 | - name: Right_ThumbDistal
407 | parentName: Right_ThumbIntermediate
408 | position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783}
409 | rotation: {x: -0.04541879, y: -0.0000020913224, z: 0.0000065647023, w: 0.998968}
410 | scale: {x: 1, y: 1, z: 1}
411 | - name: Right_ThumbDistalEnd
412 | parentName: Right_ThumbDistal
413 | position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683}
414 | rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1}
415 | scale: {x: 1, y: 1, z: 1}
416 | - name: Left_UpperLeg
417 | parentName: Hips
418 | position: {x: -0.08610317, y: -0.053458035, z: -0.011470641}
419 | rotation: {x: 0.999839, y: -0.01775374, z: 0.00004630041, w: -0.0026075041}
420 | scale: {x: 1, y: 1, z: 1}
421 | - name: Left_LowerLeg
422 | parentName: Left_UpperLeg
423 | position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17}
424 | rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.7286215e-21, w: 0.9994203}
425 | scale: {x: 1, y: 1, z: 1}
426 | - name: Left_Foot
427 | parentName: Left_LowerLeg
428 | position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16}
429 | rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211}
430 | scale: {x: 1, y: 1, z: 1}
431 | - name: Left_Toes
432 | parentName: Left_Foot
433 | position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506}
434 | rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
435 | scale: {x: 1, y: 1, z: 1}
436 | - name: Left_ToesEnd
437 | parentName: Left_Toes
438 | position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978}
439 | rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656}
440 | scale: {x: 1, y: 1, z: 1}
441 | - name: Right_UpperLeg
442 | parentName: Hips
443 | position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475}
444 | rotation: {x: 0.0026075041, y: 0.00004630041, z: 0.01775374, w: 0.999839}
445 | scale: {x: 1, y: 1, z: 1}
446 | - name: Right_LowerLeg
447 | parentName: Right_UpperLeg
448 | position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435}
449 | rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.7286215e-21, w: 0.9994203}
450 | scale: {x: 1, y: 1, z: 1}
451 | - name: Right_Foot
452 | parentName: Right_LowerLeg
453 | position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502}
454 | rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211}
455 | scale: {x: 1, y: 1, z: 1}
456 | - name: Right_Toes
457 | parentName: Right_Foot
458 | position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807}
459 | rotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
460 | scale: {x: 1, y: 1, z: 1}
461 | - name: Right_ToesEnd
462 | parentName: Right_Toes
463 | position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898}
464 | rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656}
465 | scale: {x: 1, y: 1, z: 1}
466 | - name: Geometry
467 | parentName: Armature(Clone)
468 | position: {x: -0, y: 0, z: 0}
469 | rotation: {x: 0, y: -0, z: -0, w: 1}
470 | scale: {x: 1, y: 1, z: 1}
471 | - name: Armature_Mesh
472 | parentName: Geometry
473 | position: {x: -0, y: 0, z: 0}
474 | rotation: {x: 0, y: -0, z: -0, w: 1}
475 | scale: {x: 1, y: 1, z: 1}
476 | armTwist: 0.5
477 | foreArmTwist: 0.5
478 | upperLegTwist: 0.5
479 | legTwist: 0.5
480 | armStretch: 0.05
481 | legStretch: 0.05
482 | feetSpacing: 0
483 | globalScale: 1
484 | rootMotionBoneName:
485 | hasTranslationDoF: 0
486 | hasExtraRoot: 0
487 | skeletonHasParents: 1
488 | lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: c1c632b1b9185bc43aafd480e0799531, type: 3}
489 | autoGenerateAvatarMappingIfUnspecified: 1
490 | animationType: 2
491 | humanoidOversampling: 1
492 | avatarSetup: 2
493 | addHumanoidExtraRootOnlyWhenUsingAvatar: 1
494 | remapMaterialsIfMaterialImportModeIsNone: 0
495 | additionalBone: 0
496 | userData:
497 | assetBundleName:
498 | assetBundleVariant:
499 |
--------------------------------------------------------------------------------
/Assets/Models/Locomotion--Walk_N.anim.fbx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yugo-unity/DecalFakeShadow/4b41e2323be6de5cc1c18a560b464498b071968c/Assets/Models/Locomotion--Walk_N.anim.fbx
--------------------------------------------------------------------------------
/Assets/Models/Locomotion--Walk_N.anim.fbx.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 75a7a0259764f9a4a8fc60bc4443bd67
3 | ModelImporter:
4 | serializedVersion: 21300
5 | internalIDToNameTable:
6 | - first:
7 | 74: 1657602633327794031
8 | second: Walk_N
9 | externalObjects: {}
10 | materials:
11 | materialImportMode: 0
12 | materialName: 0
13 | materialSearch: 1
14 | materialLocation: 1
15 | animations:
16 | legacyGenerateAnimations: 4
17 | bakeSimulation: 0
18 | resampleCurves: 1
19 | optimizeGameObjects: 0
20 | removeConstantScaleCurves: 1
21 | motionNodeName:
22 | rigImportErrors:
23 | rigImportWarnings:
24 | animationImportErrors:
25 | animationImportWarnings:
26 | animationRetargetingWarnings:
27 | animationDoRetargetingWarnings: 0
28 | importAnimatedCustomProperties: 0
29 | importConstraints: 0
30 | animationCompression: 3
31 | animationRotationError: 0.5
32 | animationPositionError: 0.5
33 | animationScaleError: 0.5
34 | animationWrapMode: 0
35 | extraExposedTransformPaths: []
36 | extraUserProperties: []
37 | clipAnimations:
38 | - serializedVersion: 16
39 | name: Walk_N
40 | takeName: Walk_N
41 | internalID: 0
42 | firstFrame: 0
43 | lastFrame: 29
44 | wrapMode: 0
45 | orientationOffsetY: 0
46 | level: 0
47 | cycleOffset: 0
48 | loop: 0
49 | hasAdditiveReferencePose: 0
50 | loopTime: 1
51 | loopBlend: 0
52 | loopBlendOrientation: 0
53 | loopBlendPositionY: 0
54 | loopBlendPositionXZ: 0
55 | keepOriginalOrientation: 0
56 | keepOriginalPositionY: 1
57 | keepOriginalPositionXZ: 0
58 | heightFromFeet: 0
59 | mirror: 0
60 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
61 | curves: []
62 | events: []
63 | transformMask: []
64 | maskType: 3
65 | maskSource: {instanceID: 0}
66 | additiveReferencePoseFrame: 0
67 | isReadable: 0
68 | meshes:
69 | lODScreenPercentages: []
70 | globalScale: 1
71 | meshCompression: 0
72 | addColliders: 0
73 | useSRGBMaterialColor: 1
74 | sortHierarchyByName: 1
75 | importVisibility: 0
76 | importBlendShapes: 0
77 | importCameras: 0
78 | importLights: 0
79 | nodeNameCollisionStrategy: 1
80 | fileIdsGeneration: 2
81 | swapUVChannels: 0
82 | generateSecondaryUV: 0
83 | useFileUnits: 1
84 | keepQuads: 0
85 | weldVertices: 1
86 | bakeAxisConversion: 0
87 | preserveHierarchy: 0
88 | skinWeightsMode: 0
89 | maxBonesPerVertex: 4
90 | minBoneWeight: 0.001
91 | optimizeBones: 0
92 | meshOptimizationFlags: -1
93 | indexFormat: 0
94 | secondaryUVAngleDistortion: 8
95 | secondaryUVAreaDistortion: 15.000001
96 | secondaryUVHardAngle: 88
97 | secondaryUVMarginMethod: 1
98 | secondaryUVMinLightmapResolution: 40
99 | secondaryUVMinObjectScale: 1
100 | secondaryUVPackMargin: 4
101 | useFileScale: 1
102 | tangentSpace:
103 | normalSmoothAngle: 60
104 | normalImportMode: 2
105 | tangentImportMode: 2
106 | normalCalculationMode: 4
107 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
108 | blendShapeNormalImportMode: 2
109 | normalSmoothingSource: 0
110 | referencedClips: []
111 | importAnimation: 1
112 | humanDescription:
113 | serializedVersion: 3
114 | human: []
115 | skeleton:
116 | - name: Armature(Clone)
117 | parentName:
118 | position: {x: -0, y: 0, z: 0}
119 | rotation: {x: 0, y: -0, z: -0, w: 1}
120 | scale: {x: 1, y: 1, z: 1}
121 | - name: Skeleton
122 | parentName: Armature(Clone)
123 | position: {x: -0, y: 0, z: 0}
124 | rotation: {x: 0, y: -0, z: -0, w: 1}
125 | scale: {x: 1, y: 1, z: 1}
126 | - name: Hips
127 | parentName: Skeleton
128 | position: {x: -0, y: 0.9810986, z: -0.01590455}
129 | rotation: {x: 0, y: -0, z: -0, w: 1}
130 | scale: {x: 1, y: 1, z: 1}
131 | - name: Spine
132 | parentName: Hips
133 | position: {x: -0, y: 0.058229383, z: 0.0012229546}
134 | rotation: {x: 0, y: -0, z: -0, w: 1}
135 | scale: {x: 1, y: 1, z: 1}
136 | - name: Chest
137 | parentName: Spine
138 | position: {x: -0, y: 0.1034043, z: 0}
139 | rotation: {x: 0, y: -0, z: -0, w: 1}
140 | scale: {x: 1, y: 1, z: 1}
141 | - name: UpperChest
142 | parentName: Chest
143 | position: {x: -0, y: 0.1034043, z: 0}
144 | rotation: {x: 0, y: -0, z: -0, w: 1}
145 | scale: {x: 1, y: 1, z: 1}
146 | - name: Neck
147 | parentName: UpperChest
148 | position: {x: -0, y: 0.25104657, z: -0.015329581}
149 | rotation: {x: 0.060688436, y: 0, z: -0, w: 0.9981568}
150 | scale: {x: 1, y: 1, z: 1}
151 | - name: Head
152 | parentName: Neck
153 | position: {x: -0, y: 0.12747401, z: 0}
154 | rotation: {x: -0.060688436, y: 0, z: -0, w: 0.9981568}
155 | scale: {x: 1, y: 1, z: 1}
156 | - name: Right_Eye
157 | parentName: Head
158 | position: {x: 0.033303294, y: 0.03459628, z: 0.0867403}
159 | rotation: {x: 0.7071068, y: 8.2834407e-16, z: 0.7071068, w: -8.2834407e-16}
160 | scale: {x: 1, y: 1, z: 1}
161 | - name: Left_Eye
162 | parentName: Head
163 | position: {x: -0.03330326, y: 0.034598116, z: 0.0867403}
164 | rotation: {x: -0, y: 0.7071068, z: 0, w: 0.7071068}
165 | scale: {x: 1, y: 1, z: 1}
166 | - name: Jaw
167 | parentName: Head
168 | position: {x: -0, y: -0.00763539, z: 0.012895278}
169 | rotation: {x: 0.15949209, y: 0.68888485, z: 0.15949209, w: 0.68888485}
170 | scale: {x: 1, y: 1, z: 1}
171 | - name: Neck_Twist_A
172 | parentName: Neck
173 | position: {x: -0, y: 0.063737005, z: 0}
174 | rotation: {x: 0, y: -0, z: -0, w: 1}
175 | scale: {x: 1, y: 1, z: 1}
176 | - name: Left_Shoulder
177 | parentName: UpperChest
178 | position: {x: -0.0009571358, y: 0.19149224, z: -0.0087277945}
179 | rotation: {x: -0.0049494267, y: -0.113521874, z: 0.043275386, w: 0.99258024}
180 | scale: {x: 1, y: 1, z: 1}
181 | - name: Left_UpperArm
182 | parentName: Left_Shoulder
183 | position: {x: -0.16743502, y: -5.684341e-16, z: -2.664535e-17}
184 | rotation: {x: 0.12673508, y: 0.033320725, z: 0.6809724, w: 0.72048914}
185 | scale: {x: 1, y: 1, z: 1}
186 | - name: Left_LowerArm
187 | parentName: Left_UpperArm
188 | position: {x: -2.8421706e-16, y: 0.28508067, z: 0}
189 | rotation: {x: 0.020536544, y: 0.008321507, z: -0.020624323, w: 0.9995417}
190 | scale: {x: 1, y: 1, z: 1}
191 | - name: Left_Hand
192 | parentName: Left_LowerArm
193 | position: {x: -2.4123817e-10, y: 0.24036221, z: -1.4210853e-16}
194 | rotation: {x: -0.047397237, y: -0.24003564, z: 0.013464748, w: 0.9695128}
195 | scale: {x: 1, y: 1, z: 1}
196 | - name: Left_PinkyProximal
197 | parentName: Left_Hand
198 | position: {x: 0.004436847, y: 0.07288173, z: -0.029359013}
199 | rotation: {x: -0.020069664, y: -0.55048966, z: -0.008246744, w: 0.83456}
200 | scale: {x: 1, y: 1, z: 1}
201 | - name: Left_PinkyIntermediate
202 | parentName: Left_PinkyProximal
203 | position: {x: 1.9539922e-16, y: 0.032272622, z: -1.4210853e-16}
204 | rotation: {x: 0.028111596, y: 0.00000017881392, z: 0.0000007916241, w: 0.9996048}
205 | scale: {x: 1, y: 1, z: 1}
206 | - name: Left_PinkyDistal
207 | parentName: Left_PinkyIntermediate
208 | position: {x: -3.5527133e-17, y: 0.020224448, z: -7.1054265e-17}
209 | rotation: {x: 0.03643496, y: 0.00000007135539, z: 0.00000037864467, w: 0.99933606}
210 | scale: {x: 1, y: 1, z: 1}
211 | - name: Left_PinkyDistalEnd
212 | parentName: Left_PinkyDistal
213 | position: {x: -1.2434495e-16, y: 0.018519057, z: 0}
214 | rotation: {x: 0, y: -0, z: -0, w: 1}
215 | scale: {x: 1, y: 1, z: 1}
216 | - name: Left_RingProximal
217 | parentName: Left_Hand
218 | position: {x: 0.009525569, y: 0.08161553, z: -0.012242405}
219 | rotation: {x: -0.017653849, y: -0.6026994, z: -0.0040523997, w: 0.7977627}
220 | scale: {x: 1, y: 1, z: 1}
221 | - name: Left_RingIntermediate
222 | parentName: Left_RingProximal
223 | position: {x: 3.3750777e-16, y: 0.043630484, z: -1.4210853e-16}
224 | rotation: {x: 0.023556646, y: -0.0000001192093, z: -0.000000054016716, w: 0.99972254}
225 | scale: {x: 1, y: 1, z: 1}
226 | - name: Left_RingDistal
227 | parentName: Left_RingIntermediate
228 | position: {x: 1.7763566e-17, y: 0.027115494, z: -1.065814e-16}
229 | rotation: {x: 0.039088424, y: -0.00000006426068, z: -0.00000028266237, w: 0.99923575}
230 | scale: {x: 1, y: 1, z: 1}
231 | - name: Left_RingDistalEnd
232 | parentName: Left_RingDistal
233 | position: {x: -7.105426e-17, y: 0.02095726, z: -7.105426e-17}
234 | rotation: {x: 0, y: -0, z: -0, w: 1}
235 | scale: {x: 1, y: 1, z: 1}
236 | - name: Left_MiddleProximal
237 | parentName: Left_Hand
238 | position: {x: 0.012847862, y: 0.08609763, z: 0.003435423}
239 | rotation: {x: -0.004089733, y: -0.66108114, z: -0.0040015387, w: 0.75029266}
240 | scale: {x: 1, y: 1, z: 1}
241 | - name: Left_MiddleIntermediate
242 | parentName: Left_MiddleProximal
243 | position: {x: 2.7261607e-16, y: 0.051279362, z: 5.988264e-17}
244 | rotation: {x: 0.02623109, y: 0.00000020861621, z: 0.0000006621702, w: 0.99965596}
245 | scale: {x: 1, y: 1, z: 1}
246 | - name: Left_MiddleDistal
247 | parentName: Left_MiddleIntermediate
248 | position: {x: -7.199101e-17, y: 0.028284006, z: -4.93648e-17}
249 | rotation: {x: 0.03347514, y: 0, z: -0, w: 0.9994396}
250 | scale: {x: 1, y: 1, z: 1}
251 | - name: Left_MiddleDistalEnd
252 | parentName: Left_MiddleDistal
253 | position: {x: -1.7763565e-16, y: 0.023346113, z: -7.105426e-17}
254 | rotation: {x: 0, y: -0, z: -0, w: 1}
255 | scale: {x: 1, y: 1, z: 1}
256 | - name: Left_IndexProximal
257 | parentName: Left_Hand
258 | position: {x: 0.007815497, y: 0.0918443, z: 0.02657316}
259 | rotation: {x: -0.00007974913, y: -0.7104806, z: -0.0063057938, w: 0.7036885}
260 | scale: {x: 1, y: 1, z: 1}
261 | - name: Left_IndexIntermediate
262 | parentName: Left_IndexProximal
263 | position: {x: 9.079803e-16, y: 0.04209777, z: 3.2607592e-16}
264 | rotation: {x: 0.030200941, y: -0, z: -0.000001784414, w: 0.9995439}
265 | scale: {x: 1, y: 1, z: 1}
266 | - name: Left_IndexDistal
267 | parentName: Left_IndexIntermediate
268 | position: {x: -8.20111e-16, y: 0.02513925, z: -4.317065e-16}
269 | rotation: {x: 0.03945639, y: -0.0000000546031, z: 0.0000007955681, w: 0.9992213}
270 | scale: {x: 1, y: 1, z: 1}
271 | - name: Left_IndexDistalEnd
272 | parentName: Left_IndexDistal
273 | position: {x: -1.1581012e-16, y: 0.024609203, z: -6.661337e-17}
274 | rotation: {x: 0, y: -0, z: -0, w: 1}
275 | scale: {x: 1, y: 1, z: 1}
276 | - name: Left_ThumbProximal
277 | parentName: Left_Hand
278 | position: {x: -0.00080496486, y: 0.028816883, z: 0.023514476}
279 | rotation: {x: 0.17960395, y: 0.884174, z: 0.4239894, w: -0.07881539}
280 | scale: {x: 1, y: 1, z: 1}
281 | - name: Left_ThumbIntermediate
282 | parentName: Left_ThumbProximal
283 | position: {x: 2.4357445e-15, y: 0.027578257, z: 0.0038183592}
284 | rotation: {x: 0.12780538, y: 0, z: -0, w: 0.9917993}
285 | scale: {x: 1, y: 1, z: 1}
286 | - name: Left_ThumbDistal
287 | parentName: Left_ThumbIntermediate
288 | position: {x: -2.2737365e-15, y: 0.044597257, z: -0.006869915}
289 | rotation: {x: -0.045420934, y: -0.000000030482195, z: 0.000002678266, w: 0.99896795}
290 | scale: {x: 1, y: 1, z: 1}
291 | - name: Left_ThumbDistalEnd
292 | parentName: Left_ThumbDistal
293 | position: {x: -4.2632555e-16, y: 0.029458016, z: 0}
294 | rotation: {x: 0, y: -0, z: -0, w: 1}
295 | scale: {x: 1, y: 1, z: 1}
296 | - name: Right_Shoulder
297 | parentName: UpperChest
298 | position: {x: 0.0009571358, y: 0.19149381, z: -0.008727803}
299 | rotation: {x: 0.99258024, y: -0.043275386, z: -0.113521874, w: 0.0049494267}
300 | scale: {x: 1, y: 1, z: 1}
301 | - name: Right_UpperArm
302 | parentName: Right_Shoulder
303 | position: {x: 0.16743432, y: -0.0000022099182, z: 0.00000012213746}
304 | rotation: {x: 0.12673447, y: 0.033320908, z: 0.68096745, w: 0.7204939}
305 | scale: {x: 1, y: 1, z: 1}
306 | - name: Right_LowerArm
307 | parentName: Right_UpperArm
308 | position: {x: 0.0000037273983, y: -0.285085, z: -0.00000035927226}
309 | rotation: {x: 0.020541213, y: 0.008317428, z: -0.020620946, w: 0.99954176}
310 | scale: {x: 1, y: 1, z: 1}
311 | - name: Right_Hand
312 | parentName: Right_LowerArm
313 | position: {x: 0.0000014923929, y: -0.24036367, z: 0.0000017856368}
314 | rotation: {x: -0.047397237, y: -0.24003564, z: 0.013464748, w: 0.9695128}
315 | scale: {x: 1, y: 1, z: 1}
316 | - name: Right_PinkyProximal
317 | parentName: Right_Hand
318 | position: {x: -0.0044381507, y: -0.07288141, z: 0.029358566}
319 | rotation: {x: -0.02005783, y: -0.55049574, z: -0.008249196, w: 0.8345563}
320 | scale: {x: 1, y: 1, z: 1}
321 | - name: Right_PinkyIntermediate
322 | parentName: Right_PinkyProximal
323 | position: {x: 0.00000045734515, y: -0.032268908, z: 0.00000088312623}
324 | rotation: {x: 0.028116252, y: -0.0000036060806, z: 0.0000013830139, w: 0.9996047}
325 | scale: {x: 1, y: 1, z: 1}
326 | - name: Right_PinkyDistal
327 | parentName: Right_PinkyIntermediate
328 | position: {x: 0.00000023899057, y: -0.02022493, z: 0.00000055474345}
329 | rotation: {x: 0.036431823, y: -0.0000025322572, z: -0.000009713462, w: 0.9993362}
330 | scale: {x: 1, y: 1, z: 1}
331 | - name: Right_PinkyDistalEnd
332 | parentName: Right_PinkyDistal
333 | position: {x: 0.000000632002, y: -0.018518865, z: 0.0000001154108}
334 | rotation: {x: -1.7347236e-17, y: 0, z: -0, w: 1}
335 | scale: {x: 1, y: 1, z: 1}
336 | - name: Right_RingProximal
337 | parentName: Right_Hand
338 | position: {x: -0.00952738, y: -0.08161427, z: 0.012242128}
339 | rotation: {x: -0.01764793, y: -0.6027018, z: -0.004053581, w: 0.7977611}
340 | scale: {x: 1, y: 1, z: 1}
341 | - name: Right_RingIntermediate
342 | parentName: Right_RingProximal
343 | position: {x: 0.0000000695935, y: -0.04362872, z: 0.00000080048335}
344 | rotation: {x: 0.023547076, y: 0.0000018775461, z: 0.0000070193773, w: 0.9997228}
345 | scale: {x: 1, y: 1, z: 1}
346 | - name: Right_RingDistal
347 | parentName: Right_RingIntermediate
348 | position: {x: -0.000000290747, y: -0.02711462, z: 0.0000000181098}
349 | rotation: {x: 0.039100483, y: 0.00000013493441, z: -0.000005457965, w: 0.9992353}
350 | scale: {x: 1, y: 1, z: 1}
351 | - name: Right_RingDistalEnd
352 | parentName: Right_RingDistal
353 | position: {x: 0.00000008856214, y: -0.020957856, z: 0.0000005565459}
354 | rotation: {x: 9.02056e-17, y: -0, z: -0, w: 1}
355 | scale: {x: 1, y: 1, z: 1}
356 | - name: Right_MiddleProximal
357 | parentName: Right_Hand
358 | position: {x: -0.012848663, y: -0.08609768, z: -0.0034359337}
359 | rotation: {x: -0.0040855533, y: -0.6610818, z: -0.0040009613, w: 0.7502921}
360 | scale: {x: 1, y: 1, z: 1}
361 | - name: Right_MiddleIntermediate
362 | parentName: Right_MiddleProximal
363 | position: {x: 0.000000014272595, y: -0.051275954, z: 0.0000009747695}
364 | rotation: {x: 0.026226023, y: -0.0000010430809, z: -0.0000020442524, w: 0.9996561}
365 | scale: {x: 1, y: 1, z: 1}
366 | - name: Right_MiddleDistal
367 | parentName: Right_MiddleIntermediate
368 | position: {x: 0.00000014287376, y: -0.028283618, z: 0.00000019378916}
369 | rotation: {x: 0.03347514, y: 0, z: -0, w: 0.9994396}
370 | scale: {x: 1, y: 1, z: 1}
371 | - name: Right_MiddleDistalEnd
372 | parentName: Right_MiddleDistal
373 | position: {x: 0.000000038619483, y: -0.023345316, z: 0.0000005352584}
374 | rotation: {x: 0, y: -0, z: -0, w: 1}
375 | scale: {x: 1, y: 1, z: 1}
376 | - name: Right_IndexProximal
377 | parentName: Right_Hand
378 | position: {x: -0.0078223245, y: -0.0918393, z: -0.026574574}
379 | rotation: {x: -0.00008779019, y: -0.71048135, z: -0.0063282885, w: 0.70368767}
380 | scale: {x: 1, y: 1, z: 1}
381 | - name: Right_IndexIntermediate
382 | parentName: Right_IndexProximal
383 | position: {x: 0.0000006924457, y: -0.04210151, z: -0.0000013631077}
384 | rotation: {x: 0.030203177, y: -0.0000006556509, z: 0.0000117874415, w: 0.99954385}
385 | scale: {x: 1, y: 1, z: 1}
386 | - name: Right_IndexDistal
387 | parentName: Right_IndexIntermediate
388 | position: {x: -0.00000032847043, y: -0.025139209, z: -0.0000005960629}
389 | rotation: {x: 0.03948152, y: 0.00000010287983, z: -0.0000048513234, w: 0.9992203}
390 | scale: {x: 1, y: 1, z: 1}
391 | - name: Right_IndexDistalEnd
392 | parentName: Right_IndexDistal
393 | position: {x: 0.00000023984484, y: -0.024609355, z: 0.0000006271131}
394 | rotation: {x: -5.5511138e-17, y: 0, z: -0, w: 1}
395 | scale: {x: 1, y: 1, z: 1}
396 | - name: Right_ThumbProximal
397 | parentName: Right_Hand
398 | position: {x: 0.00080341793, y: -0.028816395, z: -0.023514695}
399 | rotation: {x: 0.17960708, y: 0.88417095, z: 0.4239951, w: -0.07881223}
400 | scale: {x: 1, y: 1, z: 1}
401 | - name: Right_ThumbIntermediate
402 | parentName: Right_ThumbProximal
403 | position: {x: 0.00000015009721, y: -0.02757781, z: -0.0038183848}
404 | rotation: {x: 0.12780538, y: 0, z: -0, w: 0.9917993}
405 | scale: {x: 1, y: 1, z: 1}
406 | - name: Right_ThumbDistal
407 | parentName: Right_ThumbIntermediate
408 | position: {x: 0.0000007817755, y: -0.044594634, z: 0.0068707783}
409 | rotation: {x: -0.04541879, y: -0.0000020913224, z: 0.0000065647023, w: 0.998968}
410 | scale: {x: 1, y: 1, z: 1}
411 | - name: Right_ThumbDistalEnd
412 | parentName: Right_ThumbDistal
413 | position: {x: 0.00000020228964, y: -0.029458148, z: 0.0000009551683}
414 | rotation: {x: -2.7755574e-17, y: 0, z: -0, w: 1}
415 | scale: {x: 1, y: 1, z: 1}
416 | - name: Left_UpperLeg
417 | parentName: Hips
418 | position: {x: -0.08610317, y: -0.053458035, z: -0.011470641}
419 | rotation: {x: 0.999839, y: -0.01775374, z: 0.00004630041, w: -0.0026075041}
420 | scale: {x: 1, y: 1, z: 1}
421 | - name: Left_LowerLeg
422 | parentName: Left_UpperLeg
423 | position: {x: -2.9864513e-16, y: 0.4133444, z: -5.4956034e-17}
424 | rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.7286215e-21, w: 0.9994203}
425 | scale: {x: 1, y: 1, z: 1}
426 | - name: Left_Foot
427 | parentName: Left_LowerLeg
428 | position: {x: 0.0000000017320426, y: 0.41403946, z: 7.141509e-16}
429 | rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211}
430 | scale: {x: 1, y: 1, z: 1}
431 | - name: Left_Toes
432 | parentName: Left_Foot
433 | position: {x: 7.105427e-17, y: 0.07224803, z: -0.118065506}
434 | rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
435 | scale: {x: 1, y: 1, z: 1}
436 | - name: Left_ToesEnd
437 | parentName: Left_Toes
438 | position: {x: -0.0010026174, y: 0.06423476, z: 0.016843978}
439 | rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656}
440 | scale: {x: 1, y: 1, z: 1}
441 | - name: Right_UpperLeg
442 | parentName: Hips
443 | position: {x: 0.086103186, y: -0.053458147, z: -0.0114706475}
444 | rotation: {x: 0.0026075041, y: 0.00004630041, z: 0.01775374, w: 0.999839}
445 | scale: {x: 1, y: 1, z: 1}
446 | - name: Right_LowerLeg
447 | parentName: Right_UpperLeg
448 | position: {x: 0.0000004514609, y: -0.41334414, z: 0.000000025994435}
449 | rotation: {x: 0.034046065, y: 2.2687323e-19, z: 7.7286215e-21, w: 0.9994203}
450 | scale: {x: 1, y: 1, z: 1}
451 | - name: Right_Foot
452 | parentName: Right_LowerLeg
453 | position: {x: -0.0000007472542, y: -0.41403967, z: -0.000000032847502}
454 | rotation: {x: -0.035700925, y: 0.049957544, z: -0.019575229, w: 0.9979211}
455 | scale: {x: 1, y: 1, z: 1}
456 | - name: Right_Toes
457 | parentName: Right_Foot
458 | position: {x: -0.00000015643121, y: -0.07224799, z: 0.11807}
459 | rotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
460 | scale: {x: 1, y: 1, z: 1}
461 | - name: Right_ToesEnd
462 | parentName: Right_Toes
463 | position: {x: 0.0010031584, y: -0.06423059, z: -0.016843898}
464 | rotation: {x: 0.7070656, y: -0.0076321815, z: -0.0076321815, w: 0.7070656}
465 | scale: {x: 1, y: 1, z: 1}
466 | - name: Geometry
467 | parentName: Armature(Clone)
468 | position: {x: -0, y: 0, z: 0}
469 | rotation: {x: 0, y: -0, z: -0, w: 1}
470 | scale: {x: 1, y: 1, z: 1}
471 | - name: Armature_Mesh
472 | parentName: Geometry
473 | position: {x: -0, y: 0, z: 0}
474 | rotation: {x: 0, y: -0, z: -0, w: 1}
475 | scale: {x: 1, y: 1, z: 1}
476 | armTwist: 0.5
477 | foreArmTwist: 0.5
478 | upperLegTwist: 0.5
479 | legTwist: 0.5
480 | armStretch: 0.05
481 | legStretch: 0.05
482 | feetSpacing: 0
483 | globalScale: 1
484 | rootMotionBoneName:
485 | hasTranslationDoF: 0
486 | hasExtraRoot: 0
487 | skeletonHasParents: 1
488 | lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: c1c632b1b9185bc43aafd480e0799531, type: 3}
489 | autoGenerateAvatarMappingIfUnspecified: 1
490 | animationType: 2
491 | humanoidOversampling: 1
492 | avatarSetup: 2
493 | addHumanoidExtraRootOnlyWhenUsingAvatar: 1
494 | remapMaterialsIfMaterialImportModeIsNone: 0
495 | additionalBone: 0
496 | userData:
497 | assetBundleName:
498 | assetBundleVariant:
499 |
--------------------------------------------------------------------------------
/Assets/Models/Run.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Run
10 | serializedVersion: 5
11 | m_AnimatorParameters: []
12 | m_AnimatorLayers:
13 | - serializedVersion: 5
14 | m_Name: Base Layer
15 | m_StateMachine: {fileID: 6301505617316708678}
16 | m_Mask: {fileID: 0}
17 | m_Motions: []
18 | m_Behaviours: []
19 | m_BlendingMode: 0
20 | m_SyncedLayerIndex: -1
21 | m_DefaultWeight: 0
22 | m_IKPass: 0
23 | m_SyncedLayerAffectsTiming: 0
24 | m_Controller: {fileID: 9100000}
25 | --- !u!1102 &6078748267352750769
26 | AnimatorState:
27 | serializedVersion: 6
28 | m_ObjectHideFlags: 1
29 | m_CorrespondingSourceObject: {fileID: 0}
30 | m_PrefabInstance: {fileID: 0}
31 | m_PrefabAsset: {fileID: 0}
32 | m_Name: Run_N
33 | m_Speed: 1
34 | m_CycleOffset: 0
35 | m_Transitions: []
36 | m_StateMachineBehaviours: []
37 | m_Position: {x: 50, y: 50, z: 0}
38 | m_IKOnFeet: 0
39 | m_WriteDefaultValues: 1
40 | m_Mirror: 0
41 | m_SpeedParameterActive: 0
42 | m_MirrorParameterActive: 0
43 | m_CycleOffsetParameterActive: 0
44 | m_TimeParameterActive: 0
45 | m_Motion: {fileID: 6564411413370888346, guid: 6eb00f3ce93caa14f88ef6b0cd9cff9c, type: 3}
46 | m_Tag:
47 | m_SpeedParameter:
48 | m_MirrorParameter:
49 | m_CycleOffsetParameter:
50 | m_TimeParameter:
51 | --- !u!1107 &6301505617316708678
52 | AnimatorStateMachine:
53 | serializedVersion: 6
54 | m_ObjectHideFlags: 1
55 | m_CorrespondingSourceObject: {fileID: 0}
56 | m_PrefabInstance: {fileID: 0}
57 | m_PrefabAsset: {fileID: 0}
58 | m_Name: Base Layer
59 | m_ChildStates:
60 | - serializedVersion: 1
61 | m_State: {fileID: 6078748267352750769}
62 | m_Position: {x: 200, y: 240, z: 0}
63 | m_ChildStateMachines: []
64 | m_AnyStateTransitions: []
65 | m_EntryTransitions: []
66 | m_StateMachineTransitions: {}
67 | m_StateMachineBehaviours: []
68 | m_AnyStatePosition: {x: 50, y: 20, z: 0}
69 | m_EntryPosition: {x: 50, y: 120, z: 0}
70 | m_ExitPosition: {x: 800, y: 120, z: 0}
71 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
72 | m_DefaultState: {fileID: 6078748267352750769}
73 |
--------------------------------------------------------------------------------
/Assets/Models/Run.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6eeea3abba167934a8a1879941c4db60
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 9100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Models/Walk.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: Walk
10 | serializedVersion: 5
11 | m_AnimatorParameters: []
12 | m_AnimatorLayers:
13 | - serializedVersion: 5
14 | m_Name: Base Layer
15 | m_StateMachine: {fileID: 6301505617316708678}
16 | m_Mask: {fileID: 0}
17 | m_Motions: []
18 | m_Behaviours: []
19 | m_BlendingMode: 0
20 | m_SyncedLayerIndex: -1
21 | m_DefaultWeight: 0
22 | m_IKPass: 0
23 | m_SyncedLayerAffectsTiming: 0
24 | m_Controller: {fileID: 9100000}
25 | --- !u!1107 &6301505617316708678
26 | AnimatorStateMachine:
27 | serializedVersion: 6
28 | m_ObjectHideFlags: 1
29 | m_CorrespondingSourceObject: {fileID: 0}
30 | m_PrefabInstance: {fileID: 0}
31 | m_PrefabAsset: {fileID: 0}
32 | m_Name: Base Layer
33 | m_ChildStates:
34 | - serializedVersion: 1
35 | m_State: {fileID: 6912602990426853812}
36 | m_Position: {x: 240, y: 253.93106, z: 0}
37 | m_ChildStateMachines: []
38 | m_AnyStateTransitions: []
39 | m_EntryTransitions: []
40 | m_StateMachineTransitions: {}
41 | m_StateMachineBehaviours: []
42 | m_AnyStatePosition: {x: 50, y: 20, z: 0}
43 | m_EntryPosition: {x: 50, y: 120, z: 0}
44 | m_ExitPosition: {x: 800, y: 120, z: 0}
45 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
46 | m_DefaultState: {fileID: 6912602990426853812}
47 | --- !u!1102 &6912602990426853812
48 | AnimatorState:
49 | serializedVersion: 6
50 | m_ObjectHideFlags: 1
51 | m_CorrespondingSourceObject: {fileID: 0}
52 | m_PrefabInstance: {fileID: 0}
53 | m_PrefabAsset: {fileID: 0}
54 | m_Name: Walk_N
55 | m_Speed: 1
56 | m_CycleOffset: 0
57 | m_Transitions: []
58 | m_StateMachineBehaviours: []
59 | m_Position: {x: 50, y: 50, z: 0}
60 | m_IKOnFeet: 0
61 | m_WriteDefaultValues: 1
62 | m_Mirror: 0
63 | m_SpeedParameterActive: 0
64 | m_MirrorParameterActive: 0
65 | m_CycleOffsetParameterActive: 0
66 | m_TimeParameterActive: 0
67 | m_Motion: {fileID: 1657602633327794031, guid: 75a7a0259764f9a4a8fc60bc4443bd67, type: 3}
68 | m_Tag:
69 | m_SpeedParameter:
70 | m_MirrorParameter:
71 | m_CycleOffsetParameter:
72 | m_TimeParameter:
73 |
--------------------------------------------------------------------------------
/Assets/Models/Walk.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8188acaedb3b0be4fa6600d6e07cfd1d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 9100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/SimpleLitFakeShadow.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-8406819092732137641
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 11
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | version: 5
16 | --- !u!21 &2100000
17 | Material:
18 | serializedVersion: 8
19 | m_ObjectHideFlags: 0
20 | m_CorrespondingSourceObject: {fileID: 0}
21 | m_PrefabInstance: {fileID: 0}
22 | m_PrefabAsset: {fileID: 0}
23 | m_Name: SimpleLitFakeShadow
24 | m_Shader: {fileID: 4800000, guid: c960ba020e9103d4c9fd043b2e100db8, type: 3}
25 | m_ValidKeywords:
26 | - FAKE_CLIP
27 | - _GLOSSINESS_FROM_BASE_ALPHA
28 | - _SPECULAR_COLOR
29 | m_InvalidKeywords: []
30 | m_LightmapFlags: 4
31 | m_EnableInstancingVariants: 0
32 | m_DoubleSidedGI: 0
33 | m_CustomRenderQueue: -1
34 | stringTagMap:
35 | RenderType: Opaque
36 | disabledShaderPasses: []
37 | m_SavedProperties:
38 | serializedVersion: 3
39 | m_TexEnvs:
40 | - _BaseMap:
41 | m_Texture: {fileID: 0}
42 | m_Scale: {x: 1, y: 1}
43 | m_Offset: {x: 0, y: 0}
44 | - _BumpMap:
45 | m_Texture: {fileID: 0}
46 | m_Scale: {x: 1, y: 1}
47 | m_Offset: {x: 0, y: 0}
48 | - _DetailAlbedoMap:
49 | m_Texture: {fileID: 0}
50 | m_Scale: {x: 1, y: 1}
51 | m_Offset: {x: 0, y: 0}
52 | - _DetailMask:
53 | m_Texture: {fileID: 0}
54 | m_Scale: {x: 1, y: 1}
55 | m_Offset: {x: 0, y: 0}
56 | - _DetailNormalMap:
57 | m_Texture: {fileID: 0}
58 | m_Scale: {x: 1, y: 1}
59 | m_Offset: {x: 0, y: 0}
60 | - _EmissionMap:
61 | m_Texture: {fileID: 0}
62 | m_Scale: {x: 1, y: 1}
63 | m_Offset: {x: 0, y: 0}
64 | - _MainTex:
65 | m_Texture: {fileID: 0}
66 | m_Scale: {x: 1, y: 1}
67 | m_Offset: {x: 0, y: 0}
68 | - _MetallicGlossMap:
69 | m_Texture: {fileID: 0}
70 | m_Scale: {x: 1, y: 1}
71 | m_Offset: {x: 0, y: 0}
72 | - _OcclusionMap:
73 | m_Texture: {fileID: 0}
74 | m_Scale: {x: 1, y: 1}
75 | m_Offset: {x: 0, y: 0}
76 | - _ParallaxMap:
77 | m_Texture: {fileID: 0}
78 | m_Scale: {x: 1, y: 1}
79 | m_Offset: {x: 0, y: 0}
80 | - _SpecGlossMap:
81 | m_Texture: {fileID: 0}
82 | m_Scale: {x: 1, y: 1}
83 | m_Offset: {x: 0, y: 0}
84 | - unity_Lightmaps:
85 | m_Texture: {fileID: 0}
86 | m_Scale: {x: 1, y: 1}
87 | m_Offset: {x: 0, y: 0}
88 | - unity_LightmapsInd:
89 | m_Texture: {fileID: 0}
90 | m_Scale: {x: 1, y: 1}
91 | m_Offset: {x: 0, y: 0}
92 | - unity_ShadowMasks:
93 | m_Texture: {fileID: 0}
94 | m_Scale: {x: 1, y: 1}
95 | m_Offset: {x: 0, y: 0}
96 | m_Ints: []
97 | m_Floats:
98 | - _AlphaClip: 0
99 | - _Blend: 0
100 | - _BumpScale: 1
101 | - _ClearCoatMask: 0
102 | - _ClearCoatSmoothness: 0
103 | - _Cull: 2
104 | - _Cutoff: 0.5
105 | - _DetailAlbedoMapScale: 1
106 | - _DetailNormalMapScale: 1
107 | - _DstBlend: 0
108 | - _EnvironmentReflections: 1
109 | - _FakeClip: 1
110 | - _GlossMapScale: 0
111 | - _Glossiness: 0
112 | - _GlossinessSource: 0
113 | - _GlossyReflections: 0
114 | - _Line: 1
115 | - _Metallic: 0
116 | - _OcclusionStrength: 1
117 | - _Parallax: 0.005
118 | - _QueueOffset: 0
119 | - _ReceiveShadows: 1
120 | - _Shininess: 0
121 | - _Smoothness: 0.5
122 | - _SmoothnessSource: 1
123 | - _SmoothnessTextureChannel: 0
124 | - _SpecSource: 0
125 | - _SpecularHighlights: 0
126 | - _SrcBlend: 1
127 | - _Surface: 0
128 | - _WorkflowMode: 1
129 | - _ZWrite: 1
130 | m_Colors:
131 | - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
132 | - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
133 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
134 | - _FakeClipRect: {r: 0, g: 0, b: 0, a: 0}
135 | - _FakeShadowOffset: {r: 0, g: 0, b: 0, a: 0}
136 | - _Offset: {r: 0, g: 0, b: 0, a: 0}
137 | - _ShadowColor: {r: 1, g: 1, b: 1, a: 1}
138 | - _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
139 | m_BuildTextureStacks: []
140 |
--------------------------------------------------------------------------------
/Assets/SimpleLitFakeShadow.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b71b16f40b0297b488b1604806b3ecb3
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/SimpleLitFakeShadow.shader:
--------------------------------------------------------------------------------
1 | Shader "UTJ/SimpleLitFakeShadow"
2 | {
3 | Properties
4 | {
5 | [MainTexture] _BaseMap("Base Map (RGB) Smoothness / Alpha (A)", 2D) = "white" {}
6 | [MainColor] _BaseColor("Base Color", Color) = (1, 1, 1, 1)
7 |
8 | _Cutoff("Alpha Clipping", Range(0.0, 1.0)) = 0.5
9 |
10 | _Smoothness("Smoothness", Range(0.0, 1.0)) = 0.5
11 | _SpecColor("Specular Color", Color) = (0.5, 0.5, 0.5, 0.5)
12 | _SpecGlossMap("Specular Map", 2D) = "white" {}
13 | _SmoothnessSource("Smoothness Source", Float) = 0.0
14 | _SpecularHighlights("Specular Highlights", Float) = 1.0
15 |
16 | [HideInInspector] _BumpScale("Scale", Float) = 1.0
17 | [NoScaleOffset] _BumpMap("Normal Map", 2D) = "bump" {}
18 |
19 | [HDR] _EmissionColor("Emission Color", Color) = (0,0,0)
20 | [NoScaleOffset]_EmissionMap("Emission Map", 2D) = "white" {}
21 |
22 | // Blending state
23 | _Surface("__surface", Float) = 0.0
24 | _Blend("__blend", Float) = 0.0
25 | _Cull("__cull", Float) = 2.0
26 | [ToggleUI] _AlphaClip("__clip", Float) = 0.0
27 | [HideInInspector] _SrcBlend("__src", Float) = 1.0
28 | [HideInInspector] _DstBlend("__dst", Float) = 0.0
29 | [HideInInspector] _ZWrite("__zw", Float) = 1.0
30 |
31 | [ToggleUI] _ReceiveShadows("Receive Shadows", Float) = 1.0
32 | // Editmode props
33 | _QueueOffset("Queue offset", Float) = 0.0
34 |
35 | // ObsoleteProperties
36 | [HideInInspector] _MainTex("BaseMap", 2D) = "white" {}
37 | [HideInInspector] _Color("Base Color", Color) = (1, 1, 1, 1)
38 | [HideInInspector] _Shininess("Smoothness", Float) = 0.0
39 | [HideInInspector] _GlossinessSource("GlossinessSource", Float) = 0.0
40 | [HideInInspector] _SpecSource("SpecularHighlights", Float) = 0.0
41 |
42 | [HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
43 | [HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
44 | [HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
45 |
46 | [HideInInspector] _FakeShadowOffset("Scale", Vector) = (0, 0, 0, 0)
47 | [HideInInspector] _FakeClipRect("Clip", Vector) = (0, 0, 0, 0)
48 | }
49 | SubShader
50 | {
51 | Tags{"RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" "UniversalMaterialType" = "Lit" "IgnoreProjector" = "True" "ShaderModel" = "4.5"}
52 |
53 | UsePass "Universal Render Pipeline/Simple Lit/ForwardLit"
54 | UsePass "Universal Render Pipeline/Simple Lit/DepthOnly"
55 |
56 | Pass
57 | {
58 | Name "ShadowCaster"
59 | Tags{"LightMode" = "FakeShadow"}
60 |
61 | ZWrite Off
62 | Cull[_Cull]
63 |
64 | HLSLPROGRAM
65 | #pragma exclude_renderers gles gles3 glcore
66 | #pragma target 4.5
67 |
68 | #pragma vertex vert
69 | #pragma fragment frag
70 |
71 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
72 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
73 | //#include "Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl"
74 |
75 | #pragma multi_compile_local _ FAKE_CLIP
76 |
77 | // SRP Batcher対応させたい場合はForwardLit/DepthOnly passの定義と合わせる必要がある
78 | // 今回はサンプルなので非対応
79 | //CBUFFER_START(UnityPerMaterial)
80 | float4 _FakeShadowOffset;
81 | float4 _FakeClipRect;
82 | float4x4 _FakeShadowView;
83 | float4x4 _FakeShadowProj;
84 | //CBUFFER_END
85 |
86 | // Global properties
87 | float _FakeShadowLine;
88 | half4 _FakeShadowColor;
89 |
90 | struct Attributes
91 | {
92 | float4 positionOS : POSITION;
93 | };
94 |
95 | struct Varyings
96 | {
97 | float4 positionCS : SV_POSITION;
98 | #ifdef FAKE_CLIP
99 | float2 screenPos : TEXCOORD0;
100 | #endif
101 | };
102 |
103 | Varyings vert(Attributes input)
104 | {
105 | Varyings output;
106 |
107 | float4 pos = mul(mul(_FakeShadowProj, mul(_FakeShadowView, unity_ObjectToWorld)), float4(input.positionOS.xyz, 1));
108 |
109 | // 似非Viewport計算によるグリッド対応
110 | pos.xyz /= pos.w;
111 | pos.xy /= _FakeShadowLine; // グリッド分割数なので0が来ることはない
112 | pos.xy += _FakeShadowOffset.xy; // 指定位置
113 | pos.xyz *= pos.w;
114 |
115 | output.positionCS = pos;
116 |
117 | #ifdef FAKE_CLIP
118 | output.screenPos.xy = ComputeScreenPos(pos).xy;
119 | #endif
120 |
121 | return output;
122 | }
123 |
124 | half4 frag(Varyings input) : SV_Target
125 | {
126 | half4 color = _FakeShadowColor;
127 | #ifdef FAKE_CLIP
128 | clip(step(_FakeClipRect.x, input.screenPos.x)* step(input.screenPos.x, _FakeClipRect.x + _FakeClipRect.z)*
129 | step(_FakeClipRect.y, input.screenPos.y)* step(input.screenPos.y, _FakeClipRect.y + _FakeClipRect.w) - 0.001);
130 | #endif
131 | return color;
132 | }
133 | ENDHLSL
134 | }
135 | }
136 |
137 | Fallback "Hidden/Universal Render Pipeline/FallbackError"
138 | CustomEditor "UnityEditor.Rendering.Universal.ShaderGUI.SimpleLitShader"
139 | }
140 |
--------------------------------------------------------------------------------
/Assets/SimpleLitFakeShadow.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c960ba020e9103d4c9fd043b2e100db8
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | preprocessorOverride: 0
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/UniversalRPAsset.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
13 | m_Name: UniversalRPAsset
14 | m_EditorClassIdentifier:
15 | k_AssetVersion: 9
16 | k_AssetPreviousVersion: 9
17 | m_RendererType: 1
18 | m_RendererData: {fileID: 0}
19 | m_RendererDataList:
20 | - {fileID: 11400000, guid: a05d2b51d87bcc04980b3b6f00c64c62, type: 2}
21 | m_DefaultRendererIndex: 0
22 | m_RequireDepthTexture: 1
23 | m_RequireOpaqueTexture: 0
24 | m_OpaqueDownsampling: 1
25 | m_SupportsTerrainHoles: 1
26 | m_StoreActionsOptimization: 0
27 | m_SupportsHDR: 1
28 | m_MSAA: 1
29 | m_RenderScale: 1
30 | m_UpscalingFilter: 0
31 | m_FsrOverrideSharpness: 0
32 | m_FsrSharpness: 0.92
33 | m_MainLightRenderingMode: 1
34 | m_MainLightShadowsSupported: 1
35 | m_MainLightShadowmapResolution: 2048
36 | m_AdditionalLightsRenderingMode: 1
37 | m_AdditionalLightsPerObjectLimit: 4
38 | m_AdditionalLightShadowsSupported: 0
39 | m_AdditionalLightsShadowmapResolution: 2048
40 | m_AdditionalLightsShadowResolutionTierLow: 256
41 | m_AdditionalLightsShadowResolutionTierMedium: 512
42 | m_AdditionalLightsShadowResolutionTierHigh: 1024
43 | m_ReflectionProbeBlending: 0
44 | m_ReflectionProbeBoxProjection: 0
45 | m_ShadowDistance: 10
46 | m_ShadowCascadeCount: 1
47 | m_Cascade2Split: 0.25
48 | m_Cascade3Split: {x: 0.1, y: 0.3}
49 | m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
50 | m_CascadeBorder: 0.099999994
51 | m_ShadowDepthBias: 1
52 | m_ShadowNormalBias: 1
53 | m_SoftShadowsSupported: 0
54 | m_ConservativeEnclosingSphere: 1
55 | m_NumIterationsEnclosingSphere: 64
56 | m_AdditionalLightsCookieResolution: 2048
57 | m_AdditionalLightsCookieFormat: 3
58 | m_UseSRPBatcher: 1
59 | m_SupportsDynamicBatching: 0
60 | m_MixedLightingSupported: 1
61 | m_SupportsLightLayers: 0
62 | m_DebugLevel: 0
63 | m_UseAdaptivePerformance: 1
64 | m_ColorGradingMode: 0
65 | m_ColorGradingLutSize: 32
66 | m_UseFastSRGBLinearConversion: 0
67 | m_ShadowType: 1
68 | m_LocalShadowsSupported: 0
69 | m_LocalShadowsAtlasResolution: 256
70 | m_MaxPixelLights: 0
71 | m_ShadowAtlasResolution: 256
72 | m_ShaderVariantLogLevel: 0
73 | m_VolumeFrameworkUpdateMode: 0
74 | m_ShadowCascades: 0
75 |
--------------------------------------------------------------------------------
/Assets/UniversalRPAsset.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7103551289681374396b642b0fda7449
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UniversalRenderPipelineGlobalSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
13 | m_Name: UniversalRenderPipelineGlobalSettings
14 | m_EditorClassIdentifier:
15 | k_AssetVersion: 2
16 | lightLayerName0: Light Layer default
17 | lightLayerName1: Light Layer 1
18 | lightLayerName2: Light Layer 2
19 | lightLayerName3: Light Layer 3
20 | lightLayerName4: Light Layer 4
21 | lightLayerName5: Light Layer 5
22 | lightLayerName6: Light Layer 6
23 | lightLayerName7: Light Layer 7
24 | m_StripDebugVariants: 1
25 | m_StripUnusedPostProcessingVariants: 1
26 | m_StripUnusedVariants: 1
27 | supportRuntimeDebugDisplay: 0
28 |
--------------------------------------------------------------------------------
/Assets/UniversalRenderPipelineGlobalSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 38b35347542e5af4c9b140950c5b18db
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 934f83668998ce34c8a8fcf22b98a348
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/FakeShadow.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Rendering.Universal;
3 | using System.Runtime.CompilerServices;
4 |
5 | namespace UTJ {
6 | [RequireComponent(typeof(Renderer))]
7 | ///
8 | /// DecalProjectorを利用したトップビューの疑似影
9 | ///
10 | public class FakeShadow : MonoBehaviour {
11 | [Tooltip("対応するDecal Projector参照")]
12 | public DecalProjector projector = null; // NOTE: 暗黙(HideInspector)でDecalProjectorを生成しても良さそう
13 | [Tooltip("OnEnableで自動起動")]
14 | public bool activeOnEnable = false;
15 | [Tooltip("Projectorは動かない")]
16 | public bool isStatic = false;
17 | [SerializeField, Tooltip("Shadow Meshである、Runtimeでの変更をしてはいけない")]
18 | private bool shadowMesh = false;
19 | [SerializeField, Tooltip("DecalProjector範囲からはみ出た部分をClipする")]
20 | private bool _glidClipping = false;
21 |
22 | [System.Flags]
23 | private enum STATE {
24 | NONE,
25 | REQUEST, // リクエスト済
26 | AVAIRABLE, // 設定済
27 | }
28 |
29 | private new Renderer renderer = null;
30 | private Transform root = null;
31 | private Material[] materials = null;
32 | private STATE state = 0;
33 |
34 | private int updateMaterialCount = 0;
35 | //private bool prevClipping = false;
36 | private Vector3 prevSize = Vector3.zero;
37 | private Vector3 prevPivot = Vector3.zero;
38 | private Matrix4x4 projection = Matrix4x4.identity;
39 | private UnityEngine.Rendering.LocalKeyword[] clipKeywords;
40 |
41 | internal bool isShadowMesh { get => this.shadowMesh; }
42 | internal bool isRequested { get => this.state.HasFlag(STATE.REQUEST); }
43 | public bool glidClipping {
44 | get => this._glidClipping;
45 | set {
46 | if (this._glidClipping == value)
47 | return;
48 | this._glidClipping = value;
49 | for (var i = 0; i < this.updateMaterialCount; ++i)
50 | this.materials[i].SetKeyword(this.clipKeywords[i], this._glidClipping);
51 | }
52 | }
53 |
54 | void OnEnable() {
55 | if (this.activeOnEnable)
56 | this.Wakeup();
57 | }
58 | void OnDisable() {
59 | this.Sleep();
60 | }
61 |
62 | ///
63 | /// 起動
64 | ///
65 | public void Wakeup() {
66 | Debug.Assert(this.projector != null, "Set the reference of DecalProjector");
67 |
68 | if (this.renderer == null) {
69 | this.renderer = this.GetComponent();
70 |
71 | if (this.shadowMesh) {
72 | this.materials = this.renderer.sharedMaterials;
73 | this.updateMaterialCount = 1;
74 | } else {
75 | this.materials = this.renderer.materials;
76 | this.updateMaterialCount = this.materials.Length;
77 | }
78 | this.clipKeywords = new UnityEngine.Rendering.LocalKeyword[this.materials.Length];
79 | }
80 | if (this.root == null)
81 | this.root = this.projector.transform;
82 |
83 | var ret = FakeShadowManager.Request(this);
84 | if (ret) {
85 | this.state |= STATE.REQUEST;
86 | this.projector.enabled = true;
87 | } else {
88 | Debug.LogError("Failed to request for FakeShadow. Increase the max count.");
89 | this.projector.enabled = false;
90 | }
91 | }
92 |
93 | ///
94 | /// 停止
95 | ///
96 | public void Sleep(bool returnShadow=true) {
97 | if (returnShadow && this.state.HasFlag(STATE.AVAIRABLE))
98 | FakeShadowManager.Return(this);
99 |
100 | this.state = 0; // cleared REQUEST/AVAIRABLE
101 | this.projector.enabled = false;
102 | }
103 |
104 | ///
105 | /// パラメータ更新
106 | ///
107 | void LateUpdate() {
108 | if (!this.state.HasFlag(STATE.AVAIRABLE))
109 | return;
110 |
111 | if (this.UpdateProjection()) {
112 | for (var i = 0; i < this.updateMaterialCount; ++i)
113 | this.materials[i].SetMatrix(FakeShadowManager.PROP_ID_PROJ, this.projection);
114 | }
115 |
116 | // 静的なProjectorはView行列の更新不要
117 | if (this.isStatic)
118 | return;
119 |
120 | // Scaleはモデル行列に反映されるのでView行列でつぶさない
121 | //var view = this.root.worldToLocalMatrix;
122 |
123 | // x3ぐらい速くなる(ShadowTextureの都合上、数十程度しかこないので雀の涙)
124 | //var view = Matrix4x4.TRS(this.root.position, this.root.rotation, Vector3.one).inverse;
125 | TR_Inverse(this.root, out var view);
126 |
127 | for (var i = 0; i < this.updateMaterialCount; ++i)
128 | this.materials[i].SetMatrix(FakeShadowManager.PROP_ID_VIEW, view);
129 | }
130 |
131 | ///
132 | /// FakeShadowManagerからの設定
133 | /// 既に稼働中でAvairableCountが変更された場合にも再設定される
134 | ///
135 | /// 設定パラメータ
136 | internal void Setup(in FakeShadowManager.MatParam param) {
137 | if (!this.state.HasFlag(STATE.REQUEST))
138 | return;
139 |
140 | this.UpdateProjection(force : true);
141 | TR_Inverse(this.root, out var view);
142 |
143 | if (this.shadowMesh) {
144 | for (var i = 0; i < this.materials.Length; ++i)
145 | this.materials[i] = param.material;
146 | this.renderer.materials = this.materials;
147 |
148 | // NOTE: FakeShadowManagerでキャッシュしてもいい
149 | this.clipKeywords[0] = new UnityEngine.Rendering.LocalKeyword(param.material.shader, FakeShadowManager.CLIP_RECT_KEYWORD);
150 |
151 | param.material.SetKeyword(this.clipKeywords[0], this.glidClipping);
152 | param.material.SetMatrix(FakeShadowManager.PROP_ID_PROJ, this.projection);
153 | param.material.SetMatrix(FakeShadowManager.PROP_ID_VIEW, view);
154 | } else {
155 | for (var i = 0; i < this.materials.Length; ++i) {
156 | this.clipKeywords[i] = new UnityEngine.Rendering.LocalKeyword(this.materials[i].shader, FakeShadowManager.CLIP_RECT_KEYWORD);
157 |
158 | this.materials[i].SetKeyword(this.clipKeywords[i], this.glidClipping);
159 | this.materials[i].SetMatrix(FakeShadowManager.PROP_ID_PROJ, this.projection);
160 | this.materials[i].SetMatrix(FakeShadowManager.PROP_ID_VIEW, view);
161 | // 1度設定すればいいのでFakeShadowManagerからMaterialを借りる時は不要
162 | this.materials[i].SetVector(FakeShadowManager.PROP_ID_OFFSET, param.offset);
163 | this.materials[i].SetVector(FakeShadowManager.PROP_ID_CLIP, param.clipRect);
164 | }
165 | }
166 | this.projector.uvScale = param.uvScale;
167 | this.projector.uvBias = param.uvBias;
168 |
169 | this.state |= STATE.AVAIRABLE;
170 | }
171 |
172 | ///
173 | /// Projection行列の更新
174 | ///
175 | /// force to update
176 | /// updated
177 | private bool UpdateProjection(bool force = false) {
178 | var size = this.projector.size;
179 | var pivot = this.projector.pivot;
180 | if (!force && this.prevSize == size && this.prevPivot == pivot)
181 | return false;
182 |
183 | var width = size.x * 0.5f;
184 | var height = size.y * 0.5f;
185 | // NOTE: rangeは必要十分な値でハードコードしてもいい
186 | var range = (size.z + this.projector.pivot.magnitude);
187 | this.projection = GL.GetGPUProjectionMatrix(
188 | Matrix4x4.Ortho(-width, width, -height, height, -range, range), true
189 | );
190 | this.prevSize = size;
191 | this.prevPivot = pivot;
192 |
193 | return true;
194 | }
195 |
196 | [MethodImpl(MethodImplOptions.AggressiveInlining)]
197 | private static void TR_Inverse(Transform tr, out Matrix4x4 m) {
198 | tr.GetPositionAndRotation(out var p, out var q);
199 |
200 | // NOTE:
201 | // Quaternionは正規化前提
202 | // Inverseなのでpとqは反転
203 |
204 | var x = -q.x * 2f;
205 | var y = -q.y * 2f;
206 | var z = -q.z * 2f;
207 | var xx = -q.x * x;
208 | var yy = -q.y * y;
209 | var zz = -q.z * z;
210 | var xy = -q.x * y;
211 | var xz = -q.x * z;
212 | var yz = -q.y * z;
213 | var wx = q.w * x;
214 | var wy = q.w * y;
215 | var wz = q.w * z;
216 |
217 | m.m00 = 1f - (yy + zz);
218 | m.m10 = xy + wz;
219 | m.m20 = xz - wy;
220 | m.m30 = 0f;
221 |
222 | m.m01 = xy - wz;
223 | m.m11 = 1f - (xx + zz);
224 | m.m21 = yz + wx;
225 | m.m31 = 0f;
226 |
227 | m.m02 = xz + wy;
228 | m.m12 = yz - wx;
229 | m.m22 = 1f - (xx + yy);
230 | m.m32 = 0f;
231 |
232 | //m.m03 = p.x;
233 | //m.m13 = p.y;
234 | //m.m23 = p.z;
235 | //m.m33 = 1f;
236 | m.m03 = m.m00 * -p.x + m.m01 * -p.y + m.m02 * -p.z; // + m.m03;
237 | m.m13 = m.m10 * -p.x + m.m11 * -p.y + m.m12 * -p.z; // + m.m13;
238 | m.m23 = m.m20 * -p.x + m.m21 * -p.y + m.m22 * -p.z; // + m.m23;
239 | //m.m33 = m.m30 * -p.x + m.m31 * -p.y + m.m32 * -p.z + m.m33;
240 | m.m33 = 1f;
241 | }
242 | }
243 | }
244 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/FakeShadow.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c7dfa10038e309745ad70114dc8646f5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/FakeShadowCaster.shader:
--------------------------------------------------------------------------------
1 | Shader "UTJ/FakeShadowCaster"
2 | {
3 | Properties
4 | {
5 | [HideInInspector] _FakeShadowOffset("Scale", Vector) = (0, 0, 0, 0)
6 | [HideInInspector] _FakeClipRect("Clip", Vector) = (0, 0, 0, 0)
7 | [Toggle(FAKE_CLIP)]_FakeClip("Fake Shadow Clipping", Float) = 1
8 | }
9 |
10 | SubShader
11 | {
12 | Tags {"RenderType" = "Opaque" "IgnoreProjector" = "True" "RenderPipeline" = "UniversalPipeline" "ShaderModel" = "4.5"}
13 | LOD 100
14 |
15 | Pass
16 | {
17 | Name "ShadowCaster"
18 | Tags{"LightMode" = "FakeShadow"}
19 |
20 | Blend One Zero
21 | Cull Back
22 | ZWrite Off
23 | ZTest LEqual
24 |
25 | HLSLPROGRAM
26 | #pragma exclude_renderers gles gles3 glcore
27 | #pragma target 4.5
28 |
29 | #pragma vertex vert
30 | #pragma fragment frag
31 |
32 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
33 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
34 |
35 | #pragma multi_compile_local _ FAKE_CLIP
36 |
37 | CBUFFER_START(UnityPerMaterial)
38 | float4 _FakeShadowOffset;
39 | float4 _FakeClipRect;
40 | float4x4 _FakeShadowView;
41 | float4x4 _FakeShadowProj;
42 | CBUFFER_END
43 |
44 | // Global properties
45 | float _FakeShadowLine;
46 | half4 _FakeShadowColor;
47 |
48 | struct Attributes
49 | {
50 | float4 positionOS : POSITION;
51 | };
52 |
53 | struct Varyings
54 | {
55 | float4 positionCS : SV_POSITION;
56 | #ifdef FAKE_CLIP
57 | float2 screenPos : TEXCOORD0;
58 | #endif
59 | };
60 |
61 | Varyings vert(Attributes input)
62 | {
63 | Varyings output;
64 |
65 | float4 pos = mul(mul(_FakeShadowProj, mul(_FakeShadowView, unity_ObjectToWorld)), float4(input.positionOS.xyz, 1));
66 |
67 | // 似非Viewport計算によるグリッド対応
68 | pos.xyz /= pos.w;
69 | pos.xy /= _FakeShadowLine; // グリッド分割数なので0が来ることはない
70 | pos.xy += _FakeShadowOffset.xy; // 指定位置
71 | pos.xyz *= pos.w;
72 |
73 | output.positionCS = pos;
74 |
75 | #ifdef FAKE_CLIP
76 | output.screenPos.xy = ComputeScreenPos(pos).xy;
77 | #endif
78 |
79 | return output;
80 | }
81 |
82 | half4 frag(Varyings input) : SV_Target
83 | {
84 | half4 color = _FakeShadowColor;
85 | #ifdef FAKE_CLIP
86 | clip(step(_FakeClipRect.x, input.screenPos.x)* step(input.screenPos.x, _FakeClipRect.x + _FakeClipRect.z)*
87 | step(_FakeClipRect.y, input.screenPos.y)* step(input.screenPos.y, _FakeClipRect.y + _FakeClipRect.w) - 0.001);
88 | #endif
89 | return color;
90 | }
91 | ENDHLSL
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/FakeShadowCaster.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 45b2d29dd53159e44b9d21ec63d25600
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | preprocessorOverride: 0
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/FakeShadowPassFeature.cs:
--------------------------------------------------------------------------------
1 |
2 | #if DEVELOPMENT_BUILD || UNITY_EDITOR
3 | #define ENABLE_PROFILING
4 | #endif
5 |
6 | using System.Collections.Generic;
7 | using UnityEngine;
8 | using UnityEngine.Rendering;
9 | using UnityEngine.Rendering.Universal;
10 |
11 | namespace UTJ {
12 | #region FAKE SHADOW
13 | internal class FakeShadowManager {
14 | #region DEFINE
15 | public struct MatParam {
16 | public int index;
17 | public Vector2 uvScale;
18 | public Vector4 offset;
19 | public Vector2 uvBias;
20 | public Vector4 clipRect;
21 | public Material material;
22 | }
23 |
24 | public const int SHADOW_LIMIT = 25; // 1024の16分割で256を限界値として想定
25 | public const string CLIP_RECT_KEYWORD = "FAKE_CLIP";
26 | public static readonly int PROP_ID_LINE = Shader.PropertyToID("_FakeShadowLine");
27 | public static readonly int PROP_ID_OFFSET = Shader.PropertyToID("_FakeShadowOffset");
28 | public static readonly int PROP_ID_COLOR = Shader.PropertyToID("_FakeShadowColor");
29 | public static readonly int PROP_ID_VIEW = Shader.PropertyToID("_FakeShadowView");
30 | public static readonly int PROP_ID_PROJ = Shader.PropertyToID("_FakeShadowProj");
31 | public static readonly int PROP_ID_CLIP = Shader.PropertyToID("_FakeClipRect");
32 | public static readonly Quaternion TOP_ROT = Quaternion.Euler(90f, 0f, 0f);
33 | #endregion
34 |
35 |
36 | #region MEMBER
37 | private static Stack requests = new Stack(SHADOW_LIMIT);
38 | private static FakeShadowManager instance = null;
39 | private Dictionary available = new Dictionary(SHADOW_LIMIT);
40 | private Stack cancels = new Stack(SHADOW_LIMIT);
41 | private Stack indexStack = new Stack(SHADOW_LIMIT);
42 | private MatParam[] matParams = new MatParam[SHADOW_LIMIT];
43 | private Color _color = Color.black;
44 | private int availableCount = 0;
45 | private float mapSize = 1f;
46 | #endregion
47 |
48 |
49 | #region MAIN FUNCTION
50 | [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
51 | private static void Reload() {
52 | // static変数にしたくないがEnterPlayModeを有効にするとRenderPassの生成より先にMonoBehaviourのOnEnableが飛ぶので...
53 | FakeShadowManager.requests.Clear();
54 | }
55 |
56 | ///
57 | /// 初期化
58 | ///
59 | /// ShadowMesh用のShader
60 | internal FakeShadowManager(Shader fakeShader) {
61 | if (instance != null) {
62 | Debug.LogError("FakeShadowManager is duplicated.");
63 | return;
64 | }
65 | instance = this;
66 |
67 | if (fakeShader != null) {
68 | for (var i = 0; i < SHADOW_LIMIT; ++i)
69 | this.matParams[i].material = new Material(fakeShader);
70 | }
71 |
72 | Shader.SetGlobalColor(PROP_ID_COLOR, Color.gray);
73 | this.availableCount = 0;
74 | this.mapSize = 1;
75 | }
76 |
77 | ///
78 | /// 破棄
79 | ///
80 | internal void Dispose() {
81 | for (var i = 0; i < SHADOW_LIMIT; ++i) {
82 | Object.DestroyImmediate(this.matParams[i].material);
83 | this.matParams[i].material = null;
84 | }
85 | foreach (var shadow in this.available.Keys)
86 | shadow.Sleep(returnShadow:false);
87 | this.available.Clear();
88 | this.indexStack.Clear();
89 | requests.Clear();
90 | instance = null;
91 | }
92 |
93 | ///
94 | /// 上限設定
95 | ///
96 | /// 上限値
97 | /// Decal Shadowバッファの解像度
98 | internal void SetAvailableCount(int count, float decalMapSize) {
99 | if (this.availableCount == count && this.mapSize == decalMapSize)
100 | return;
101 |
102 | this.availableCount = count;
103 | this.mapSize = decalMapSize;
104 |
105 | var line = Mathf.Ceil(Mathf.Sqrt(count)); // 累乗でグリッド生成
106 | var uvScale = 1f / line; // 0~1
107 | var block = 2f / line; // -1~1
108 | var onePixel = 1f / decalMapSize;
109 | var onePixelx2 = 2f / decalMapSize;
110 |
111 | this.indexStack.Clear();
112 | for (var i = 0; i < this.availableCount; ++i) {
113 | // 描画位置、グリッドの中点
114 | var pos = Vector4.zero;
115 | pos.x = -1f + block * ((float)i % line + 0.5f);
116 | pos.y = 1f - block * (Mathf.Floor((float)i / line) + 0.5f);
117 | var uvBias = new Vector2(uvScale * Mathf.Floor((float)i % line), uvScale * Mathf.Floor((float)i / line));
118 | // Bilinerによってはみ出してくるので1pix内側で切る
119 | var clipRect = new Vector4(uvBias.x + onePixel, uvBias.y + onePixel, uvScale - onePixelx2, uvScale - onePixelx2);
120 |
121 | this.indexStack.Push(i);
122 | if (this.matParams[i].material != null) {
123 | this.matParams[i].material.SetVector(PROP_ID_OFFSET, pos);
124 | this.matParams[i].material.SetVector(PROP_ID_CLIP, clipRect);
125 | }
126 | this.matParams[i].index = i;
127 | this.matParams[i].uvScale = new Vector2(uvScale, uvScale);
128 | this.matParams[i].offset = pos;
129 | this.matParams[i].uvBias = uvBias;
130 | this.matParams[i].clipRect = clipRect;
131 | }
132 |
133 | // 現在有効なShadowの更新
134 | if (this.available.Count > 0) {
135 | foreach (var shadow in this.available.Keys) {
136 | if (requests.Count >= this.availableCount) {
137 | Debug.LogError($"Canceled FakeShadow [{shadow.name}]. The max count is insufficient.");
138 | this.cancels.Push(shadow);
139 | continue;
140 | }
141 | requests.Push(shadow);
142 | }
143 | this.available.Clear();
144 | foreach (var shadow in this.cancels)
145 | shadow.Sleep();
146 | this.cancels.Clear();
147 | }
148 |
149 | Shader.SetGlobalFloat(PROP_ID_LINE, line);
150 | }
151 |
152 | ///
153 | /// 新規リクエストの対応
154 | ///
155 | internal void ResolveRequests() {
156 | while (requests.Count > 0) {
157 | var req = requests.Pop();
158 | // キャンセルされた場合は無視
159 | if (!req.isRequested)
160 | continue;
161 | if (this.available.ContainsKey(req)) {
162 | Debug.LogError($"Already available : {req.name}");
163 | continue;
164 | }
165 | if (this.indexStack.Count == 0) {
166 | Debug.LogError($"Over requests : {req.name}");
167 | req.Sleep();
168 | continue;
169 | }
170 |
171 | var index = this.indexStack.Pop();
172 | this.available.Add(req, index);
173 |
174 | // SkinnedMeshはMeshRendererを分けずにSubMeshの方がオーバーヘッドが低いのでMulti Renderer対応はしない
175 | if (req.isShadowMesh) {
176 | if (this.matParams[index].material == null) {
177 | Return(req);
178 | Debug.LogError("Not supported FakeShadow by ShadowMesh. Need the Shader.");
179 | continue;
180 | }
181 | }
182 | req.Setup(in this.matParams[index]);
183 | }
184 | }
185 | #endregion
186 |
187 |
188 | #region PUBLIC FUNCTION
189 | ///
190 | /// 影色
191 | ///
192 | public static Color color {
193 | get { return instance._color; }
194 | set {
195 | instance._color = value;
196 | Shader.SetGlobalColor(PROP_ID_COLOR, value);
197 | }
198 | }
199 |
200 | ///
201 | /// 有効リクエスト
202 | ///
203 | /// FakeShadowインスタンス
204 | /// 完了
205 | public static bool Request(FakeShadow shadow) {
206 | if (requests.Contains(shadow)) {
207 | Debug.LogError("Duplicated to request");
208 | return true;
209 | }
210 |
211 | requests.Push(shadow);
212 | return true;
213 | }
214 |
215 | ///
216 | /// インデックス返却
217 | ///
218 | /// Requestで取得したインデックス
219 | public static bool Return(FakeShadow shadow) {
220 | if (instance == null || shadow == null)
221 | return false;
222 | if (instance.available.TryGetValue(shadow, out var index)) {
223 | instance.indexStack.Push(index);
224 | instance.available.Remove(shadow);
225 | return true;
226 | }
227 | Debug.LogError("Not found to return");
228 | return false;
229 | }
230 | #endregion
231 | }
232 | #endregion
233 |
234 | public class FakeShadowPassFeature : ScriptableRendererFeature {
235 | public LayerMask characterLayer = 0;
236 | public Shader fakeShadowShader = null;
237 | [Range(1, FakeShadowManager.SHADOW_LIMIT)]
238 | public int maxShadowCount = 9; // 3x3
239 | public int decalMapSize = 512;
240 |
241 | private FakeShadowManager fakeShadow = null;
242 | private CharacterDepthPass depthPass = null;
243 | private CharacterShadowPass shadowPass = null;
244 | private CharacterOpaquePass opaquePass = null;
245 |
246 |
247 | #region DEPTH PASS
248 | ///
249 | /// CharacterレイヤーのDepth pass
250 | ///
251 | class CharacterDepthPass : ScriptableRenderPass {
252 | public LayerMask layerMask = 0;
253 |
254 | private ShaderTagId SHADER_TAG_ID = new ShaderTagId("DepthOnly");
255 | private RenderStateBlock renderStateBlock;
256 |
257 | public CharacterDepthPass() {
258 | this.renderPassEvent = RenderPassEvent.AfterRenderingPrePasses; //
259 | this.renderStateBlock = new RenderStateBlock(RenderStateMask.Nothing);
260 |
261 | #if ENABLE_PROFILING
262 | base.profilingSampler = new ProfilingSampler("Character - Depth Pass");
263 | #endif
264 | }
265 |
266 | public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) {
267 | ConfigureTarget(renderingData.cameraData.renderer.cameraDepthTarget);
268 | }
269 |
270 | public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) {
271 | #if ENABLE_PROFILING
272 | var cmd = CommandBufferPool.Get();
273 | using (new ProfilingScope(cmd, this.profilingSampler)) {
274 | context.ExecuteCommandBuffer(cmd);
275 | cmd.Clear();
276 | #endif
277 | var depthDrawSettings = CreateDrawingSettings(SHADER_TAG_ID, ref renderingData, SortingCriteria.CommonOpaque);
278 | depthDrawSettings.perObjectData = PerObjectData.None;
279 | var depthFilteringSettings = new FilteringSettings(RenderQueueRange.opaque, this.layerMask);
280 | context.DrawRenderers(renderingData.cullResults, ref depthDrawSettings, ref depthFilteringSettings, ref this.renderStateBlock);
281 | #if ENABLE_PROFILING
282 | }
283 | context.ExecuteCommandBuffer(cmd);
284 | CommandBufferPool.Release(cmd);
285 | #endif
286 | }
287 | }
288 | #endregion
289 |
290 |
291 | #region FAKE SHADOW PASS
292 | ///
293 | /// CharacterレイヤーのFake Shadow pass
294 | ///
295 | class CharacterShadowPass : ScriptableRenderPass {
296 | public LayerMask layerMask = 0;
297 | public int decalMapSize = 512;
298 |
299 | private ShaderTagId FAKE_SHADER_TAG_ID = new ShaderTagId("FakeShadow");
300 | private RenderStateBlock renderStateBlock;
301 | private int DECAL_MAP_ID = Shader.PropertyToID("_DecalTexture");
302 |
303 | public CharacterShadowPass() {
304 | this.renderPassEvent = RenderPassEvent.AfterRenderingPrePasses;
305 | this.renderStateBlock = new RenderStateBlock(RenderStateMask.Nothing);
306 |
307 | #if ENABLE_PROFILING
308 | base.profilingSampler = new ProfilingSampler("Character - FakeShadow Pass");
309 | #endif
310 | }
311 |
312 | public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) {
313 | var desc = new RenderTextureDescriptor(this.decalMapSize, this.decalMapSize, UnityEngine.Experimental.Rendering.GraphicsFormat.R8G8B8A8_SRGB, 0, 0);
314 | desc.msaaSamples = 1;
315 | desc.sRGB = (QualitySettings.activeColorSpace == ColorSpace.Linear);
316 | cmd.GetTemporaryRT(DECAL_MAP_ID, desc, FilterMode.Bilinear);
317 |
318 | ConfigureTarget(DECAL_MAP_ID);
319 | ConfigureClear(ClearFlag.Color, Color.clear);
320 | }
321 |
322 | public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) {
323 | #if ENABLE_PROFILING
324 | var cmd = CommandBufferPool.Get();
325 | using (new ProfilingScope(cmd, this.profilingSampler)) {
326 | context.ExecuteCommandBuffer(cmd);
327 | cmd.Clear();
328 | #endif
329 | // DecalをGPU Instancingする為にDecal Map一つにグリッドで描画する
330 | var drawSettings = CreateDrawingSettings(FAKE_SHADER_TAG_ID, ref renderingData, SortingCriteria.OptimizeStateChanges);
331 | var filteringSettings = new FilteringSettings(RenderQueueRange.opaque, this.layerMask);
332 | context.DrawRenderers(renderingData.cullResults, ref drawSettings, ref filteringSettings, ref this.renderStateBlock);
333 | #if ENABLE_PROFILING
334 | }
335 | context.ExecuteCommandBuffer(cmd);
336 | CommandBufferPool.Release(cmd);
337 | #endif
338 | }
339 | public override void OnCameraCleanup(CommandBuffer cmd) {
340 | if (cmd == null) {
341 | throw new System.ArgumentNullException("cmd");
342 | }
343 |
344 | cmd.ReleaseTemporaryRT(DECAL_MAP_ID);
345 | }
346 | }
347 | #endregion
348 |
349 |
350 | #region OPAQUE PASS
351 | ///
352 | /// CharacterレイヤーのOpaque pass
353 | ///
354 | class CharacterOpaquePass : ScriptableRenderPass {
355 | public LayerMask layerMask = 0;
356 | public bool useDepthPriming = false;
357 |
358 | private ShaderTagId SHADER_TAG_ID = new ShaderTagId("UniversalForward");
359 | private RenderStateBlock renderStateBlock;
360 |
361 | public CharacterOpaquePass() {
362 | this.renderPassEvent = RenderPassEvent.AfterRenderingSkybox; // after DecalPass
363 | this.renderStateBlock = new RenderStateBlock(RenderStateMask.Nothing);
364 |
365 | #if ENABLE_PROFILING
366 | base.profilingSampler = new ProfilingSampler("Character - Opaque Pass");
367 | #endif
368 | }
369 |
370 | public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData) {
371 | if (this.useDepthPriming) {
372 | this.renderStateBlock.depthState = new DepthState(false, CompareFunction.Equal);
373 | this.renderStateBlock.mask |= RenderStateMask.Depth;
374 | } else if (this.renderStateBlock.depthState.compareFunction == CompareFunction.Equal) {
375 | this.renderStateBlock.depthState = new DepthState(true, CompareFunction.LessEqual);
376 | this.renderStateBlock.mask |= RenderStateMask.Depth;
377 | }
378 | }
379 |
380 | public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) {
381 | #if ENABLE_PROFILING
382 | var cmd = CommandBufferPool.Get();
383 | using (new ProfilingScope(cmd, this.profilingSampler)) {
384 | context.ExecuteCommandBuffer(cmd);
385 | cmd.Clear();
386 | #endif
387 | var sortFlags = renderingData.cameraData.defaultOpaqueSortFlags;
388 | if (this.useDepthPriming)
389 | sortFlags = SortingCriteria.SortingLayer | SortingCriteria.RenderQueue | SortingCriteria.OptimizeStateChanges;
390 | var drawSettings = CreateDrawingSettings(SHADER_TAG_ID, ref renderingData, sortFlags);
391 | var filteringSettings = new FilteringSettings(RenderQueueRange.opaque, this.layerMask);
392 | context.DrawRenderers(renderingData.cullResults, ref drawSettings, ref filteringSettings, ref this.renderStateBlock);
393 | #if ENABLE_PROFILING
394 | }
395 | context.ExecuteCommandBuffer(cmd);
396 | CommandBufferPool.Release(cmd);
397 | #endif
398 | }
399 | }
400 | #endregion
401 |
402 |
403 | System.Reflection.PropertyInfo propUseDepthPriming = null;
404 |
405 | public override void Create() {
406 | if (this.propUseDepthPriming != null)
407 | return;
408 |
409 | this.depthPass = new CharacterDepthPass();
410 | this.shadowPass = new CharacterShadowPass();
411 | this.opaquePass = new CharacterOpaquePass();
412 |
413 | this.fakeShadow = new FakeShadowManager(this.fakeShadowShader);
414 |
415 | var universalRendererType = typeof(UniversalRenderer);
416 | this.propUseDepthPriming = universalRendererType.GetProperty("useDepthPriming", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
417 | }
418 |
419 | protected override void Dispose(bool disposing) {
420 | this.depthPass = null;
421 | this.shadowPass = null;
422 | this.opaquePass = null;
423 | this.fakeShadow?.Dispose();
424 | this.fakeShadow = null;
425 | this.propUseDepthPriming = null;
426 | }
427 |
428 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) {
429 | // Decalを利用するのでDepth Textureは必ずあるという前提
430 | // 本サンプルはDepth Priming有効で期待しているので決め打ちにしてもいい
431 | // ATTENTION: Not supported the case that chaging DepthPrimingMode in runtime when available shadows exist.
432 | var useDepthPriming = (bool)this.propUseDepthPriming.GetValue(renderingData.cameraData.renderer);
433 |
434 | #if UNITY_EDITOR
435 | // Depth Priming Modeが無効かつCopyDepthの為にDepthPrepassを走らせるとイベントが正常に差し込めないので非対応
436 | var memberCopyDepthMode = typeof(UniversalRenderer).GetField("m_CopyDepthMode", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
437 | var depthPrepass = useDepthPriming | (CopyDepthMode)memberCopyDepthMode.GetValue(renderingData.cameraData.renderer) == CopyDepthMode.ForcePrepass;
438 | if (!useDepthPriming && depthPrepass)
439 | Debug.LogError("not supported \"Depth Texture Mode\" to \"Force Prepass\" in URP Asset");
440 | #endif
441 |
442 | // support to modify in runtime
443 | this.depthPass.layerMask = this.characterLayer;
444 | this.opaquePass.layerMask = this.characterLayer;
445 | this.shadowPass.layerMask = this.characterLayer;
446 | this.shadowPass.decalMapSize = this.decalMapSize;
447 |
448 | this.opaquePass.useDepthPriming = useDepthPriming;
449 | if (useDepthPriming)
450 | this.depthPass.renderPassEvent = RenderPassEvent.AfterRenderingPrePasses;
451 | else
452 | this.depthPass.renderPassEvent = RenderPassEvent.AfterRenderingOpaques; // for CopyDepth
453 |
454 | this.fakeShadow.SetAvailableCount(this.maxShadowCount, this.decalMapSize); // 有効数の変更、ランタイムで変更したい場合は要改変、実行数より有効数を減らされた場合の例外対応に注意
455 | this.fakeShadow.ResolveRequests(); // リクエスト処理
456 |
457 | renderer.EnqueuePass(this.depthPass);
458 | renderer.EnqueuePass(this.shadowPass);
459 | renderer.EnqueuePass(this.opaquePass);
460 | }
461 | }
462 | }
463 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/FakeShadowPassFeature.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90c6089b20f87c044b6165a4964a0c65
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e1dd6b97d4b0d744598cb66e18dd2cdb
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector/BlobShadowByDecal.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-6701406186042622323
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 11
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | version: 5
16 | --- !u!21 &2100000
17 | Material:
18 | serializedVersion: 8
19 | m_ObjectHideFlags: 0
20 | m_CorrespondingSourceObject: {fileID: 0}
21 | m_PrefabInstance: {fileID: 0}
22 | m_PrefabAsset: {fileID: 0}
23 | m_Name: BlobShadowByDecal
24 | m_Shader: {fileID: -6465566751694194690, guid: f0e85556399ff1c429d7f4d30a964d4c, type: 3}
25 | m_ValidKeywords: []
26 | m_InvalidKeywords: []
27 | m_LightmapFlags: 4
28 | m_EnableInstancingVariants: 0
29 | m_DoubleSidedGI: 0
30 | m_CustomRenderQueue: -1
31 | stringTagMap: {}
32 | disabledShaderPasses: []
33 | m_SavedProperties:
34 | serializedVersion: 3
35 | m_TexEnvs:
36 | - Base_Map:
37 | m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 0}
38 | m_Scale: {x: 1, y: 1}
39 | m_Offset: {x: 0, y: 0}
40 | - _BaseMap:
41 | m_Texture: {fileID: 0}
42 | m_Scale: {x: 1, y: 1}
43 | m_Offset: {x: 0, y: 0}
44 | - _BumpMap:
45 | m_Texture: {fileID: 0}
46 | m_Scale: {x: 1, y: 1}
47 | m_Offset: {x: 0, y: 0}
48 | - _DetailAlbedoMap:
49 | m_Texture: {fileID: 0}
50 | m_Scale: {x: 1, y: 1}
51 | m_Offset: {x: 0, y: 0}
52 | - _DetailMask:
53 | m_Texture: {fileID: 0}
54 | m_Scale: {x: 1, y: 1}
55 | m_Offset: {x: 0, y: 0}
56 | - _DetailNormalMap:
57 | m_Texture: {fileID: 0}
58 | m_Scale: {x: 1, y: 1}
59 | m_Offset: {x: 0, y: 0}
60 | - _EmissionMap:
61 | m_Texture: {fileID: 0}
62 | m_Scale: {x: 1, y: 1}
63 | m_Offset: {x: 0, y: 0}
64 | - _MainTex:
65 | m_Texture: {fileID: 0}
66 | m_Scale: {x: 1, y: 1}
67 | m_Offset: {x: 0, y: 0}
68 | - _MetallicGlossMap:
69 | m_Texture: {fileID: 0}
70 | m_Scale: {x: 1, y: 1}
71 | m_Offset: {x: 0, y: 0}
72 | - _OcclusionMap:
73 | m_Texture: {fileID: 0}
74 | m_Scale: {x: 1, y: 1}
75 | m_Offset: {x: 0, y: 0}
76 | - _ParallaxMap:
77 | m_Texture: {fileID: 0}
78 | m_Scale: {x: 1, y: 1}
79 | m_Offset: {x: 0, y: 0}
80 | - _SpecGlossMap:
81 | m_Texture: {fileID: 0}
82 | m_Scale: {x: 1, y: 1}
83 | m_Offset: {x: 0, y: 0}
84 | - unity_Lightmaps:
85 | m_Texture: {fileID: 0}
86 | m_Scale: {x: 1, y: 1}
87 | m_Offset: {x: 0, y: 0}
88 | - unity_LightmapsInd:
89 | m_Texture: {fileID: 0}
90 | m_Scale: {x: 1, y: 1}
91 | m_Offset: {x: 0, y: 0}
92 | - unity_ShadowMasks:
93 | m_Texture: {fileID: 0}
94 | m_Scale: {x: 1, y: 1}
95 | m_Offset: {x: 0, y: 0}
96 | m_Ints: []
97 | m_Floats:
98 | - _AlphaClip: 0
99 | - _Blend: 0
100 | - _BumpScale: 1
101 | - _ClearCoatMask: 0
102 | - _ClearCoatSmoothness: 0
103 | - _Cull: 2
104 | - _Cutoff: 0.5
105 | - _DecalAngleFadeSupported: 1
106 | - _DecalMeshBiasType: 0
107 | - _DecalMeshDepthBias: 0
108 | - _DecalMeshViewBias: 0
109 | - _DetailAlbedoMapScale: 1
110 | - _DetailNormalMapScale: 1
111 | - _DrawOrder: 0
112 | - _DstBlend: 0
113 | - _EnvironmentReflections: 1
114 | - _GlossMapScale: 0
115 | - _Glossiness: 0
116 | - _GlossyReflections: 0
117 | - _Metallic: 0
118 | - _OcclusionStrength: 1
119 | - _Parallax: 0.005
120 | - _QueueOffset: 0
121 | - _ReceiveShadows: 1
122 | - _Smoothness: 0.5
123 | - _SmoothnessTextureChannel: 0
124 | - _SpecularHighlights: 1
125 | - _SrcBlend: 1
126 | - _Surface: 0
127 | - _WorkflowMode: 1
128 | - _ZWrite: 1
129 | m_Colors:
130 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
131 | - _Base_Color: {r: 0, g: 0, b: 0, a: 0}
132 | - _Color: {r: 1, g: 1, b: 1, a: 1}
133 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
134 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
135 | m_BuildTextureStacks: []
136 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector/BlobShadowByDecal.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe73b4d38f019ba4b94da5f3437eba02
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector/FakeShadowByDecal.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &-278128243020669135
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 11
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | version: 5
16 | --- !u!21 &2100000
17 | Material:
18 | serializedVersion: 8
19 | m_ObjectHideFlags: 0
20 | m_CorrespondingSourceObject: {fileID: 0}
21 | m_PrefabInstance: {fileID: 0}
22 | m_PrefabAsset: {fileID: 0}
23 | m_Name: FakeShadowByDecal
24 | m_Shader: {fileID: 4800000, guid: a5da91b415ed0fe46849c7a9f0cc8a59, type: 3}
25 | m_ValidKeywords:
26 | - DECAL_ANGLE_FADE
27 | m_InvalidKeywords: []
28 | m_LightmapFlags: 4
29 | m_EnableInstancingVariants: 1
30 | m_DoubleSidedGI: 0
31 | m_CustomRenderQueue: -1
32 | stringTagMap: {}
33 | disabledShaderPasses: []
34 | m_SavedProperties:
35 | serializedVersion: 3
36 | m_TexEnvs:
37 | - Base_Map:
38 | m_Texture: {fileID: 8400000, guid: c329ac36cbdcde8458a7ae5effa398bf, type: 2}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - Normal_Map:
42 | m_Texture: {fileID: 0}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _BaseMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _BumpMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _DetailAlbedoMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | - _DetailMask:
58 | m_Texture: {fileID: 0}
59 | m_Scale: {x: 1, y: 1}
60 | m_Offset: {x: 0, y: 0}
61 | - _DetailNormalMap:
62 | m_Texture: {fileID: 0}
63 | m_Scale: {x: 1, y: 1}
64 | m_Offset: {x: 0, y: 0}
65 | - _EmissionMap:
66 | m_Texture: {fileID: 0}
67 | m_Scale: {x: 1, y: 1}
68 | m_Offset: {x: 0, y: 0}
69 | - _MainTex:
70 | m_Texture: {fileID: 0}
71 | m_Scale: {x: 1, y: 1}
72 | m_Offset: {x: 0, y: 0}
73 | - _MetallicGlossMap:
74 | m_Texture: {fileID: 0}
75 | m_Scale: {x: 1, y: 1}
76 | m_Offset: {x: 0, y: 0}
77 | - _OcclusionMap:
78 | m_Texture: {fileID: 0}
79 | m_Scale: {x: 1, y: 1}
80 | m_Offset: {x: 0, y: 0}
81 | - _ParallaxMap:
82 | m_Texture: {fileID: 0}
83 | m_Scale: {x: 1, y: 1}
84 | m_Offset: {x: 0, y: 0}
85 | - _SpecGlossMap:
86 | m_Texture: {fileID: 0}
87 | m_Scale: {x: 1, y: 1}
88 | m_Offset: {x: 0, y: 0}
89 | - unity_Lightmaps:
90 | m_Texture: {fileID: 0}
91 | m_Scale: {x: 1, y: 1}
92 | m_Offset: {x: 0, y: 0}
93 | - unity_LightmapsInd:
94 | m_Texture: {fileID: 0}
95 | m_Scale: {x: 1, y: 1}
96 | m_Offset: {x: 0, y: 0}
97 | - unity_ShadowMasks:
98 | m_Texture: {fileID: 0}
99 | m_Scale: {x: 1, y: 1}
100 | m_Offset: {x: 0, y: 0}
101 | m_Ints: []
102 | m_Floats:
103 | - Normal_Blend: 0
104 | - _AlphaClip: 0
105 | - _Blend: 0
106 | - _BumpScale: 1
107 | - _ClearCoatMask: 0
108 | - _ClearCoatSmoothness: 0
109 | - _Cull: 2
110 | - _Cutoff: 0.5
111 | - _DecalAngleFadeSupported: 1
112 | - _DecalMeshBiasType: 0
113 | - _DecalMeshDepthBias: 0
114 | - _DecalMeshViewBias: 0
115 | - _DetailAlbedoMapScale: 1
116 | - _DetailNormalMapScale: 1
117 | - _DrawOrder: 0
118 | - _DstBlend: 0
119 | - _EnvironmentReflections: 1
120 | - _GlossMapScale: 0
121 | - _Glossiness: 0
122 | - _GlossyReflections: 0
123 | - _Metallic: 0
124 | - _OcclusionStrength: 1
125 | - _Parallax: 0.005
126 | - _QueueOffset: 0
127 | - _ReceiveShadows: 1
128 | - _Smoothness: 0.5
129 | - _SmoothnessTextureChannel: 0
130 | - _SpecularHighlights: 1
131 | - _SrcBlend: 1
132 | - _Surface: 0
133 | - _WorkflowMode: 1
134 | - _ZWrite: 1
135 | m_Colors:
136 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
137 | - _Base_Color: {r: 0.18934675, g: 0.2564249, b: 0.3490566, a: 0}
138 | - _Color: {r: 1, g: 1, b: 1, a: 1}
139 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
140 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
141 | m_BuildTextureStacks: []
142 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector/FakeShadowByDecal.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c4817ed7f0354c348bebd1e24902e6a4
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector/FakeShadowByDecal.shader:
--------------------------------------------------------------------------------
1 |
2 | // ShaderGraphのDecalシェーダーからFake Shadowに必要なもののみに削ぎ落す
3 | Shader "UTJ/FakeShadowByDecal"
4 | {
5 | Properties
6 | {
7 | //[NoScaleOffset] Base_Map("Base Map", 2D) = "white" {} // _DecalTextureで飛んでくる
8 | _Base_Color("Base Color", Color) = (0, 0, 0, 0)
9 | [Toggle(DECAL_ANGLE_FADE)]_DecalAngleFadeSupported("Decal Angle Fade Supported", Float) = 1
10 | }
11 | SubShader
12 | {
13 | Tags
14 | {
15 | "RenderPipeline" = "UniversalPipeline"
16 | // RenderType:
17 | "PreviewType" = "Plane"
18 | // Queue:
19 | }
20 | Pass
21 | {
22 | Name "DecalScreenSpaceProjector"
23 | Tags
24 | {
25 | "LightMode" = "DecalScreenSpaceProjector"
26 | }
27 |
28 | // Render State
29 | Cull Front
30 | Blend SrcAlpha OneMinusSrcAlpha
31 | ZTest Greater
32 | ZWrite Off
33 |
34 | // Debug
35 | //
36 |
37 | // --------------------------------------------------
38 | // Pass
39 |
40 | HLSLPROGRAM
41 |
42 | // Pragmas
43 | #pragma target 2.5
44 | #pragma vertex Vert
45 | #pragma fragment Frag
46 | #pragma multi_compile_instancing
47 | #pragma editor_sync_compilation
48 |
49 | // create shader variant
50 | #pragma shader_feature_local_fragment DECAL_ANGLE_FADE
51 |
52 | // Includes
53 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
54 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
55 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
56 | #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderVariablesDecal.hlsl"
57 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl"
58 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/NormalReconstruction.hlsl"
59 |
60 | // --------------------------------------------------
61 | // Structs and Packing
62 |
63 | struct Attributes
64 | {
65 | float3 positionOS : POSITION;
66 | float4 uv0 : TEXCOORD0;
67 | #if UNITY_ANY_INSTANCING_ENABLED
68 | uint instanceID : INSTANCEID_SEMANTIC;
69 | #endif
70 | };
71 | struct Varyings
72 | {
73 | float4 positionCS : SV_POSITION;
74 | float4 texCoord0;
75 | #if UNITY_ANY_INSTANCING_ENABLED
76 | uint instanceID : CUSTOM_INSTANCE_ID;
77 | #endif
78 | };
79 | struct PackedVaryings
80 | {
81 | float4 positionCS : SV_POSITION;
82 | float4 interp0 : INTERP0;
83 | #if UNITY_ANY_INSTANCING_ENABLED
84 | uint instanceID : CUSTOM_INSTANCE_ID;
85 | #endif
86 | };
87 |
88 | PackedVaryings PackVaryings(Varyings input)
89 | {
90 | PackedVaryings output;
91 | ZERO_INITIALIZE(PackedVaryings, output);
92 | output.positionCS = input.positionCS;
93 | output.interp0.xyzw = input.texCoord0;
94 | #if UNITY_ANY_INSTANCING_ENABLED
95 | output.instanceID = input.instanceID;
96 | #endif
97 | return output;
98 | }
99 |
100 | Varyings UnpackVaryings(PackedVaryings input)
101 | {
102 | Varyings output;
103 | output.positionCS = input.positionCS;
104 | output.texCoord0 = input.interp0.xyzw;
105 | #if UNITY_ANY_INSTANCING_ENABLED
106 | output.instanceID = input.instanceID;
107 | #endif
108 | return output;
109 | }
110 |
111 |
112 | // --------------------------------------------------
113 | // Graph
114 |
115 | CBUFFER_START(UnityPerMaterial)
116 | float4 _DecalTexture_TexelSize;
117 | float4 _Base_Color;
118 | CBUFFER_END
119 |
120 | //SAMPLER(SamplerState_Linear_Repeat);
121 | TEXTURE2D(_DecalTexture);
122 | SAMPLER(sampler_DecalTexture);
123 |
124 | // --------------------------------------------------
125 | // Functions
126 |
127 | half4 GetSurfaceColor(Varyings input, uint2 positionSS, float angleFadeFactor)
128 | {
129 | half4x4 normalToWorld = UNITY_ACCESS_INSTANCED_PROP(Decal, _NormalToWorld);
130 | half fadeFactor = clamp(normalToWorld[0][3], 0.0f, 1.0f) * angleFadeFactor;
131 | float2 scale = float2(normalToWorld[3][0], normalToWorld[3][1]);
132 | float2 offset = float2(normalToWorld[3][2], normalToWorld[3][3]);
133 | input.texCoord0.xy = input.texCoord0.xy * scale + offset;
134 |
135 | UnityTexture2D _Property_Out_0 = UnityBuildTexture2DStructNoScale(_DecalTexture);
136 | float4 _SampleTexture2D_RGBA_0 = SAMPLE_TEXTURE2D(_Property_Out_0.tex, _Property_Out_0.samplerstate, _Property_Out_0.GetTransformedUV(input.texCoord0.xy));
137 | float3 surfaceColor = _SampleTexture2D_RGBA_0.rgb * _Base_Color.rgb;
138 | float surfaceAlpha = _SampleTexture2D_RGBA_0.a;
139 |
140 | return half4(surfaceColor.r, surfaceColor.g, surfaceColor.b, surfaceAlpha * fadeFactor);
141 | }
142 |
143 | // --------------------------------------------------
144 | // Main
145 |
146 | Varyings BuildVaryings(Attributes input)
147 | {
148 | Varyings output = (Varyings)0;
149 |
150 | UNITY_SETUP_INSTANCE_ID(input);
151 |
152 | UNITY_TRANSFER_INSTANCE_ID(input, output);
153 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
154 |
155 | // TODO: Avoid path via VertexPositionInputs (Universal)
156 | VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz);
157 |
158 | // Returns the camera relative position (if enabled)
159 | float3 positionWS = TransformObjectToWorld(input.positionOS);
160 |
161 | output.positionCS = TransformWorldToHClip(positionWS);
162 |
163 | output.texCoord0 = input.uv0;
164 |
165 | #ifdef EDITOR_VISUALIZATION
166 | float2 VizUV = 0;
167 | float4 LightCoord = 0;
168 | UnityEditorVizData(input.positionOS, input.uv0, input.uv1, input.uv2, VizUV, LightCoord);
169 | #endif
170 |
171 | return output;
172 | }
173 |
174 | PackedVaryings Vert(Attributes inputMesh)
175 | {
176 | Varyings output = (Varyings)0;
177 | output = BuildVaryings(inputMesh);
178 |
179 | PackedVaryings packedOutput = (PackedVaryings)0;
180 | packedOutput = PackVaryings(output);
181 |
182 | return packedOutput;
183 | }
184 |
185 | void Frag(PackedVaryings packedInput, out half4 outColor : SV_Target0)
186 | {
187 | UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(packedInput);
188 | UNITY_SETUP_INSTANCE_ID(packedInput);
189 | Varyings input = UnpackVaryings(packedInput);
190 |
191 | half angleFadeFactor = 1.0;
192 |
193 | float2 positionCS = input.positionCS.xy;
194 |
195 | // Only screen space needs flip logic, other passes do not setup needed properties so we skip here
196 | TransformScreenUV(positionCS, _ScreenSize.y);
197 |
198 | #if UNITY_REVERSED_Z
199 | float depth = LoadSceneDepth(positionCS.xy);
200 | #else
201 | // Adjust z to match NDC for OpenGL
202 | float depth = lerp(UNITY_NEAR_CLIP_VALUE, 1, LoadSceneDepth(positionCS.xy));
203 | #endif
204 |
205 | float2 positionSS = input.positionCS.xy * _ScreenSize.zw;
206 |
207 | float3 positionWS = ComputeWorldSpacePosition(positionSS, depth, UNITY_MATRIX_I_VP);
208 |
209 | // Transform from relative world space to decal space (DS) to clip the decal
210 | float3 positionDS = TransformWorldToObject(positionWS);
211 | positionDS = positionDS * float3(1.0, -1.0, 1.0);
212 |
213 | // call clip as early as possible
214 | float clipValue = 0.5 - Max3(abs(positionDS).x, abs(positionDS).y, abs(positionDS).z);
215 | clip(clipValue);
216 |
217 | float2 texCoord = positionDS.xz + float2(0.5, 0.5);
218 | input.texCoord0.xy = texCoord;
219 |
220 | #ifdef DECAL_ANGLE_FADE
221 | #if defined(_DECAL_NORMAL_BLEND_HIGH)
222 | half3 normalWS = half3(ReconstructNormalTap9(positionCS.xy));
223 | #elif defined(_DECAL_NORMAL_BLEND_MEDIUM)
224 | half3 normalWS = half3(ReconstructNormalTap5(positionCS.xy));
225 | #else
226 | half3 normalWS = half3(ReconstructNormalDerivative(input.positionCS.xy));
227 | #endif
228 |
229 | // Check if this decal projector require angle fading
230 | half4x4 normalToWorld = UNITY_ACCESS_INSTANCED_PROP(Decal, _NormalToWorld);
231 | half2 angleFade = half2(normalToWorld[1][3], normalToWorld[2][3]);
232 |
233 | if (angleFade.y < 0.0f) // if angle fade is enabled
234 | {
235 | half3 decalNormal = half3(normalToWorld[0].z, normalToWorld[1].z, normalToWorld[2].z);
236 | half dotAngle = dot(normalWS, decalNormal);
237 | // See equation in DecalCreateDrawCallSystem.cs - simplified to a madd mul add here
238 | angleFadeFactor = saturate(angleFade.x + angleFade.y * (dotAngle * (dotAngle - 2.0)));
239 | }
240 | #endif
241 |
242 | outColor = GetSurfaceColor(input, (uint2)positionSS, angleFadeFactor);
243 | }
244 | ENDHLSL
245 | }
246 | }
247 | //FallBack "Hidden/Shader Graph/FallbackError"
248 | }
--------------------------------------------------------------------------------
/Assets/_DecalAssets/For_DecalProjector/FakeShadowByDecal.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5da91b415ed0fe46849c7a9f0cc8a59
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | preprocessorOverride: 0
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/_DecalAssets/SimpleDecalForBlob.shadergraph.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f0e85556399ff1c429d7f4d30a964d4c
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
11 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Unity Companion License
2 |
3 | Copyright (c) 2022 Yugo Fujioka
4 |
5 | Licensed under the Unity Companion License for Unity-dependent projects--see Unity Companion License.
6 | [https://unity.com/legal/licenses/unity-companion-license]
7 |
8 | Unless expressly provided otherwise, the Software under this license is made available strictly
9 | on an "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
10 | Please review the license for details on these and other terms and conditions.
11 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ide.visualstudio": "2.0.18",
4 | "com.unity.render-pipelines.universal": "12.1.11",
5 | "com.unity.test-framework": "1.1.33",
6 | "com.unity.ugui": "1.0.0",
7 | "com.unity.modules.ai": "1.0.0",
8 | "com.unity.modules.androidjni": "1.0.0",
9 | "com.unity.modules.animation": "1.0.0",
10 | "com.unity.modules.assetbundle": "1.0.0",
11 | "com.unity.modules.audio": "1.0.0",
12 | "com.unity.modules.cloth": "1.0.0",
13 | "com.unity.modules.director": "1.0.0",
14 | "com.unity.modules.imageconversion": "1.0.0",
15 | "com.unity.modules.imgui": "1.0.0",
16 | "com.unity.modules.jsonserialize": "1.0.0",
17 | "com.unity.modules.particlesystem": "1.0.0",
18 | "com.unity.modules.physics": "1.0.0",
19 | "com.unity.modules.physics2d": "1.0.0",
20 | "com.unity.modules.screencapture": "1.0.0",
21 | "com.unity.modules.terrain": "1.0.0",
22 | "com.unity.modules.terrainphysics": "1.0.0",
23 | "com.unity.modules.tilemap": "1.0.0",
24 | "com.unity.modules.ui": "1.0.0",
25 | "com.unity.modules.uielements": "1.0.0",
26 | "com.unity.modules.umbra": "1.0.0",
27 | "com.unity.modules.unityanalytics": "1.0.0",
28 | "com.unity.modules.unitywebrequest": "1.0.0",
29 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
30 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
31 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
32 | "com.unity.modules.unitywebrequestwww": "1.0.0",
33 | "com.unity.modules.vehicles": "1.0.0",
34 | "com.unity.modules.video": "1.0.0",
35 | "com.unity.modules.vr": "1.0.0",
36 | "com.unity.modules.wind": "1.0.0",
37 | "com.unity.modules.xr": "1.0.0"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Packages/packages-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.burst": {
4 | "version": "1.8.4",
5 | "depth": 1,
6 | "source": "registry",
7 | "dependencies": {
8 | "com.unity.mathematics": "1.2.1"
9 | },
10 | "url": "https://packages.unity.com"
11 | },
12 | "com.unity.ext.nunit": {
13 | "version": "1.0.6",
14 | "depth": 1,
15 | "source": "registry",
16 | "dependencies": {},
17 | "url": "https://packages.unity.com"
18 | },
19 | "com.unity.ide.visualstudio": {
20 | "version": "2.0.18",
21 | "depth": 0,
22 | "source": "registry",
23 | "dependencies": {
24 | "com.unity.test-framework": "1.1.9"
25 | },
26 | "url": "https://packages.unity.com"
27 | },
28 | "com.unity.mathematics": {
29 | "version": "1.2.6",
30 | "depth": 1,
31 | "source": "registry",
32 | "dependencies": {},
33 | "url": "https://packages.unity.com"
34 | },
35 | "com.unity.render-pipelines.core": {
36 | "version": "12.1.11",
37 | "depth": 1,
38 | "source": "builtin",
39 | "dependencies": {
40 | "com.unity.ugui": "1.0.0",
41 | "com.unity.modules.physics": "1.0.0",
42 | "com.unity.modules.jsonserialize": "1.0.0"
43 | }
44 | },
45 | "com.unity.render-pipelines.universal": {
46 | "version": "12.1.11",
47 | "depth": 0,
48 | "source": "builtin",
49 | "dependencies": {
50 | "com.unity.mathematics": "1.2.1",
51 | "com.unity.burst": "1.8.4",
52 | "com.unity.render-pipelines.core": "12.1.11",
53 | "com.unity.shadergraph": "12.1.11"
54 | }
55 | },
56 | "com.unity.searcher": {
57 | "version": "4.9.1",
58 | "depth": 2,
59 | "source": "registry",
60 | "dependencies": {},
61 | "url": "https://packages.unity.com"
62 | },
63 | "com.unity.shadergraph": {
64 | "version": "12.1.11",
65 | "depth": 1,
66 | "source": "builtin",
67 | "dependencies": {
68 | "com.unity.render-pipelines.core": "12.1.11",
69 | "com.unity.searcher": "4.9.1"
70 | }
71 | },
72 | "com.unity.test-framework": {
73 | "version": "1.1.33",
74 | "depth": 0,
75 | "source": "registry",
76 | "dependencies": {
77 | "com.unity.ext.nunit": "1.0.6",
78 | "com.unity.modules.imgui": "1.0.0",
79 | "com.unity.modules.jsonserialize": "1.0.0"
80 | },
81 | "url": "https://packages.unity.com"
82 | },
83 | "com.unity.ugui": {
84 | "version": "1.0.0",
85 | "depth": 0,
86 | "source": "builtin",
87 | "dependencies": {
88 | "com.unity.modules.ui": "1.0.0",
89 | "com.unity.modules.imgui": "1.0.0"
90 | }
91 | },
92 | "com.unity.modules.ai": {
93 | "version": "1.0.0",
94 | "depth": 0,
95 | "source": "builtin",
96 | "dependencies": {}
97 | },
98 | "com.unity.modules.androidjni": {
99 | "version": "1.0.0",
100 | "depth": 0,
101 | "source": "builtin",
102 | "dependencies": {}
103 | },
104 | "com.unity.modules.animation": {
105 | "version": "1.0.0",
106 | "depth": 0,
107 | "source": "builtin",
108 | "dependencies": {}
109 | },
110 | "com.unity.modules.assetbundle": {
111 | "version": "1.0.0",
112 | "depth": 0,
113 | "source": "builtin",
114 | "dependencies": {}
115 | },
116 | "com.unity.modules.audio": {
117 | "version": "1.0.0",
118 | "depth": 0,
119 | "source": "builtin",
120 | "dependencies": {}
121 | },
122 | "com.unity.modules.cloth": {
123 | "version": "1.0.0",
124 | "depth": 0,
125 | "source": "builtin",
126 | "dependencies": {
127 | "com.unity.modules.physics": "1.0.0"
128 | }
129 | },
130 | "com.unity.modules.director": {
131 | "version": "1.0.0",
132 | "depth": 0,
133 | "source": "builtin",
134 | "dependencies": {
135 | "com.unity.modules.audio": "1.0.0",
136 | "com.unity.modules.animation": "1.0.0"
137 | }
138 | },
139 | "com.unity.modules.imageconversion": {
140 | "version": "1.0.0",
141 | "depth": 0,
142 | "source": "builtin",
143 | "dependencies": {}
144 | },
145 | "com.unity.modules.imgui": {
146 | "version": "1.0.0",
147 | "depth": 0,
148 | "source": "builtin",
149 | "dependencies": {}
150 | },
151 | "com.unity.modules.jsonserialize": {
152 | "version": "1.0.0",
153 | "depth": 0,
154 | "source": "builtin",
155 | "dependencies": {}
156 | },
157 | "com.unity.modules.particlesystem": {
158 | "version": "1.0.0",
159 | "depth": 0,
160 | "source": "builtin",
161 | "dependencies": {}
162 | },
163 | "com.unity.modules.physics": {
164 | "version": "1.0.0",
165 | "depth": 0,
166 | "source": "builtin",
167 | "dependencies": {}
168 | },
169 | "com.unity.modules.physics2d": {
170 | "version": "1.0.0",
171 | "depth": 0,
172 | "source": "builtin",
173 | "dependencies": {}
174 | },
175 | "com.unity.modules.screencapture": {
176 | "version": "1.0.0",
177 | "depth": 0,
178 | "source": "builtin",
179 | "dependencies": {
180 | "com.unity.modules.imageconversion": "1.0.0"
181 | }
182 | },
183 | "com.unity.modules.subsystems": {
184 | "version": "1.0.0",
185 | "depth": 1,
186 | "source": "builtin",
187 | "dependencies": {
188 | "com.unity.modules.jsonserialize": "1.0.0"
189 | }
190 | },
191 | "com.unity.modules.terrain": {
192 | "version": "1.0.0",
193 | "depth": 0,
194 | "source": "builtin",
195 | "dependencies": {}
196 | },
197 | "com.unity.modules.terrainphysics": {
198 | "version": "1.0.0",
199 | "depth": 0,
200 | "source": "builtin",
201 | "dependencies": {
202 | "com.unity.modules.physics": "1.0.0",
203 | "com.unity.modules.terrain": "1.0.0"
204 | }
205 | },
206 | "com.unity.modules.tilemap": {
207 | "version": "1.0.0",
208 | "depth": 0,
209 | "source": "builtin",
210 | "dependencies": {
211 | "com.unity.modules.physics2d": "1.0.0"
212 | }
213 | },
214 | "com.unity.modules.ui": {
215 | "version": "1.0.0",
216 | "depth": 0,
217 | "source": "builtin",
218 | "dependencies": {}
219 | },
220 | "com.unity.modules.uielements": {
221 | "version": "1.0.0",
222 | "depth": 0,
223 | "source": "builtin",
224 | "dependencies": {
225 | "com.unity.modules.ui": "1.0.0",
226 | "com.unity.modules.imgui": "1.0.0",
227 | "com.unity.modules.jsonserialize": "1.0.0",
228 | "com.unity.modules.uielementsnative": "1.0.0"
229 | }
230 | },
231 | "com.unity.modules.uielementsnative": {
232 | "version": "1.0.0",
233 | "depth": 1,
234 | "source": "builtin",
235 | "dependencies": {
236 | "com.unity.modules.ui": "1.0.0",
237 | "com.unity.modules.imgui": "1.0.0",
238 | "com.unity.modules.jsonserialize": "1.0.0"
239 | }
240 | },
241 | "com.unity.modules.umbra": {
242 | "version": "1.0.0",
243 | "depth": 0,
244 | "source": "builtin",
245 | "dependencies": {}
246 | },
247 | "com.unity.modules.unityanalytics": {
248 | "version": "1.0.0",
249 | "depth": 0,
250 | "source": "builtin",
251 | "dependencies": {
252 | "com.unity.modules.unitywebrequest": "1.0.0",
253 | "com.unity.modules.jsonserialize": "1.0.0"
254 | }
255 | },
256 | "com.unity.modules.unitywebrequest": {
257 | "version": "1.0.0",
258 | "depth": 0,
259 | "source": "builtin",
260 | "dependencies": {}
261 | },
262 | "com.unity.modules.unitywebrequestassetbundle": {
263 | "version": "1.0.0",
264 | "depth": 0,
265 | "source": "builtin",
266 | "dependencies": {
267 | "com.unity.modules.assetbundle": "1.0.0",
268 | "com.unity.modules.unitywebrequest": "1.0.0"
269 | }
270 | },
271 | "com.unity.modules.unitywebrequestaudio": {
272 | "version": "1.0.0",
273 | "depth": 0,
274 | "source": "builtin",
275 | "dependencies": {
276 | "com.unity.modules.unitywebrequest": "1.0.0",
277 | "com.unity.modules.audio": "1.0.0"
278 | }
279 | },
280 | "com.unity.modules.unitywebrequesttexture": {
281 | "version": "1.0.0",
282 | "depth": 0,
283 | "source": "builtin",
284 | "dependencies": {
285 | "com.unity.modules.unitywebrequest": "1.0.0",
286 | "com.unity.modules.imageconversion": "1.0.0"
287 | }
288 | },
289 | "com.unity.modules.unitywebrequestwww": {
290 | "version": "1.0.0",
291 | "depth": 0,
292 | "source": "builtin",
293 | "dependencies": {
294 | "com.unity.modules.unitywebrequest": "1.0.0",
295 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
296 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
297 | "com.unity.modules.audio": "1.0.0",
298 | "com.unity.modules.assetbundle": "1.0.0",
299 | "com.unity.modules.imageconversion": "1.0.0"
300 | }
301 | },
302 | "com.unity.modules.vehicles": {
303 | "version": "1.0.0",
304 | "depth": 0,
305 | "source": "builtin",
306 | "dependencies": {
307 | "com.unity.modules.physics": "1.0.0"
308 | }
309 | },
310 | "com.unity.modules.video": {
311 | "version": "1.0.0",
312 | "depth": 0,
313 | "source": "builtin",
314 | "dependencies": {
315 | "com.unity.modules.audio": "1.0.0",
316 | "com.unity.modules.ui": "1.0.0",
317 | "com.unity.modules.unitywebrequest": "1.0.0"
318 | }
319 | },
320 | "com.unity.modules.vr": {
321 | "version": "1.0.0",
322 | "depth": 0,
323 | "source": "builtin",
324 | "dependencies": {
325 | "com.unity.modules.jsonserialize": "1.0.0",
326 | "com.unity.modules.physics": "1.0.0",
327 | "com.unity.modules.xr": "1.0.0"
328 | }
329 | },
330 | "com.unity.modules.wind": {
331 | "version": "1.0.0",
332 | "depth": 0,
333 | "source": "builtin",
334 | "dependencies": {}
335 | },
336 | "com.unity.modules.xr": {
337 | "version": "1.0.0",
338 | "depth": 0,
339 | "source": "builtin",
340 | "dependencies": {
341 | "com.unity.modules.physics": "1.0.0",
342 | "com.unity.modules.jsonserialize": "1.0.0",
343 | "com.unity.modules.subsystems": "1.0.0"
344 | }
345 | }
346 | }
347 | }
348 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 0
20 |
--------------------------------------------------------------------------------
/ProjectSettings/BurstAotSettings_Switch.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "EnableBurstCompilation": true,
5 | "EnableOptimisations": true,
6 | "EnableSafetyChecks": false,
7 | "EnableDebugInAllBuilds": false,
8 | "CpuMinTargetX32": 0,
9 | "CpuMaxTargetX32": 0,
10 | "CpuMinTargetX64": 0,
11 | "CpuMaxTargetX64": 0,
12 | "OptimizeFor": 0
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/CommonBurstAotSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "DisabledWarnings": ""
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 13
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0.1
18 | m_ClothInterCollisionStiffness: 0.2
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ClothGravity: {x: 0, y: -9.81, z: 0}
26 | m_ContactPairsMode: 0
27 | m_BroadphaseType: 0
28 | m_WorldBounds:
29 | m_Center: {x: 0, y: 0, z: 0}
30 | m_Extent: {x: 250, y: 250, z: 250}
31 | m_WorldSubdivisions: 8
32 | m_FrictionType: 0
33 | m_EnableEnhancedDeterminism: 0
34 | m_EnableUnifiedHeightmaps: 1
35 | m_SolverType: 0
36 | m_DefaultMaxAngularSpeed: 7
37 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 0
9 | path: Assets/Scenes/SampleScene.unity
10 | guid: d1c3109bdb54ad54c8a2b2838528e640
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 11
7 | m_SerializationMode: 2
8 | m_LineEndingsForNewScripts: 1
9 | m_DefaultBehaviorMode: 0
10 | m_PrefabRegularEnvironment: {fileID: 0}
11 | m_PrefabUIEnvironment: {fileID: 0}
12 | m_SpritePackerMode: 0
13 | m_SpritePackerPaddingPower: 1
14 | m_Bc7TextureCompressor: 0
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp
20 | m_ProjectGenerationRootNamespace:
21 | m_EnableTextureStreamingInEditMode: 1
22 | m_EnableTextureStreamingInPlayMode: 1
23 | m_AsyncShaderCompilation: 1
24 | m_CachingShaderPreprocessor: 1
25 | m_PrefabModeAllowAutoSave: 1
26 | m_EnterPlayModeOptionsEnabled: 1
27 | m_EnterPlayModeOptions: 3
28 | m_GameObjectNamingDigits: 1
29 | m_GameObjectNamingScheme: 0
30 | m_AssetNamingUsesSpace: 1
31 | m_UseLegacyProbeSampleCount: 0
32 | m_SerializeInlineMappingsOnOneLine: 1
33 | m_DisableCookiesInLightmapper: 1
34 | m_AssetPipelineMode: 1
35 | m_RefreshImportMode: 0
36 | m_CacheServerMode: 0
37 | m_CacheServerEndpoint:
38 | m_CacheServerNamespacePrefix: default
39 | m_CacheServerEnableDownload: 1
40 | m_CacheServerEnableUpload: 1
41 | m_CacheServerEnableAuth: 0
42 | m_CacheServerEnableTls: 0
43 | m_CacheServerValidationMode: 2
44 | m_CacheServerDownloadBatchSize: 128
45 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 14
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_VideoShadersIncludeMode: 2
32 | m_AlwaysIncludedShaders:
33 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
40 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
41 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
42 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
43 | m_PreloadedShaders: []
44 | m_PreloadShadersBatchTimeLimit: -1
45 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
46 | m_CustomRenderPipeline: {fileID: 11400000, guid: 7103551289681374396b642b0fda7449, type: 2}
47 | m_TransparencySortMode: 0
48 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
49 | m_DefaultRenderingPath: 1
50 | m_DefaultMobileRenderingPath: 1
51 | m_TierSettings: []
52 | m_LightmapStripping: 0
53 | m_FogStripping: 0
54 | m_InstancingStripping: 0
55 | m_LightmapKeepPlain: 1
56 | m_LightmapKeepDirCombined: 1
57 | m_LightmapKeepDynamicPlain: 1
58 | m_LightmapKeepDynamicDirCombined: 1
59 | m_LightmapKeepShadowMask: 1
60 | m_LightmapKeepSubtractive: 1
61 | m_FogKeepLinear: 1
62 | m_FogKeepExp: 1
63 | m_FogKeepExp2: 1
64 | m_AlbedoSwatchInfos: []
65 | m_LightsUseLinearIntensity: 1
66 | m_LightsUseColorTemperature: 1
67 | m_DefaultRenderingLayerMask: 1
68 | m_LogWhenShaderIsCompiled: 0
69 | m_SRPDefaultSettings:
70 | UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 38b35347542e5af4c9b140950c5b18db, type: 2}
71 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 | - serializedVersion: 3
297 | m_Name: Enable Debug Button 1
298 | descriptiveName:
299 | descriptiveNegativeName:
300 | negativeButton:
301 | positiveButton: left ctrl
302 | altNegativeButton:
303 | altPositiveButton: joystick button 8
304 | gravity: 0
305 | dead: 0
306 | sensitivity: 0
307 | snap: 0
308 | invert: 0
309 | type: 0
310 | axis: 0
311 | joyNum: 0
312 | - serializedVersion: 3
313 | m_Name: Enable Debug Button 2
314 | descriptiveName:
315 | descriptiveNegativeName:
316 | negativeButton:
317 | positiveButton: backspace
318 | altNegativeButton:
319 | altPositiveButton: joystick button 9
320 | gravity: 0
321 | dead: 0
322 | sensitivity: 0
323 | snap: 0
324 | invert: 0
325 | type: 0
326 | axis: 0
327 | joyNum: 0
328 | - serializedVersion: 3
329 | m_Name: Debug Reset
330 | descriptiveName:
331 | descriptiveNegativeName:
332 | negativeButton:
333 | positiveButton: left alt
334 | altNegativeButton:
335 | altPositiveButton: joystick button 1
336 | gravity: 0
337 | dead: 0
338 | sensitivity: 0
339 | snap: 0
340 | invert: 0
341 | type: 0
342 | axis: 0
343 | joyNum: 0
344 | - serializedVersion: 3
345 | m_Name: Debug Next
346 | descriptiveName:
347 | descriptiveNegativeName:
348 | negativeButton:
349 | positiveButton: page down
350 | altNegativeButton:
351 | altPositiveButton: joystick button 5
352 | gravity: 0
353 | dead: 0
354 | sensitivity: 0
355 | snap: 0
356 | invert: 0
357 | type: 0
358 | axis: 0
359 | joyNum: 0
360 | - serializedVersion: 3
361 | m_Name: Debug Previous
362 | descriptiveName:
363 | descriptiveNegativeName:
364 | negativeButton:
365 | positiveButton: page up
366 | altNegativeButton:
367 | altPositiveButton: joystick button 4
368 | gravity: 0
369 | dead: 0
370 | sensitivity: 0
371 | snap: 0
372 | invert: 0
373 | type: 0
374 | axis: 0
375 | joyNum: 0
376 | - serializedVersion: 3
377 | m_Name: Debug Validate
378 | descriptiveName:
379 | descriptiveNegativeName:
380 | negativeButton:
381 | positiveButton: return
382 | altNegativeButton:
383 | altPositiveButton: joystick button 0
384 | gravity: 0
385 | dead: 0
386 | sensitivity: 0
387 | snap: 0
388 | invert: 0
389 | type: 0
390 | axis: 0
391 | joyNum: 0
392 | - serializedVersion: 3
393 | m_Name: Debug Persistent
394 | descriptiveName:
395 | descriptiveNegativeName:
396 | negativeButton:
397 | positiveButton: right shift
398 | altNegativeButton:
399 | altPositiveButton: joystick button 2
400 | gravity: 0
401 | dead: 0
402 | sensitivity: 0
403 | snap: 0
404 | invert: 0
405 | type: 0
406 | axis: 0
407 | joyNum: 0
408 | - serializedVersion: 3
409 | m_Name: Debug Multiplier
410 | descriptiveName:
411 | descriptiveNegativeName:
412 | negativeButton:
413 | positiveButton: left shift
414 | altNegativeButton:
415 | altPositiveButton: joystick button 3
416 | gravity: 0
417 | dead: 0
418 | sensitivity: 0
419 | snap: 0
420 | invert: 0
421 | type: 0
422 | axis: 0
423 | joyNum: 0
424 | - serializedVersion: 3
425 | m_Name: Debug Horizontal
426 | descriptiveName:
427 | descriptiveNegativeName:
428 | negativeButton: left
429 | positiveButton: right
430 | altNegativeButton:
431 | altPositiveButton:
432 | gravity: 1000
433 | dead: 0.001
434 | sensitivity: 1000
435 | snap: 0
436 | invert: 0
437 | type: 0
438 | axis: 0
439 | joyNum: 0
440 | - serializedVersion: 3
441 | m_Name: Debug Vertical
442 | descriptiveName:
443 | descriptiveNegativeName:
444 | negativeButton: down
445 | positiveButton: up
446 | altNegativeButton:
447 | altPositiveButton:
448 | gravity: 1000
449 | dead: 0.001
450 | sensitivity: 1000
451 | snap: 0
452 | invert: 0
453 | type: 0
454 | axis: 0
455 | joyNum: 0
456 | - serializedVersion: 3
457 | m_Name: Debug Vertical
458 | descriptiveName:
459 | descriptiveNegativeName:
460 | negativeButton: down
461 | positiveButton: up
462 | altNegativeButton:
463 | altPositiveButton:
464 | gravity: 1000
465 | dead: 0.001
466 | sensitivity: 1000
467 | snap: 0
468 | invert: 0
469 | type: 2
470 | axis: 6
471 | joyNum: 0
472 | - serializedVersion: 3
473 | m_Name: Debug Horizontal
474 | descriptiveName:
475 | descriptiveNegativeName:
476 | negativeButton: left
477 | positiveButton: right
478 | altNegativeButton:
479 | altPositiveButton:
480 | gravity: 1000
481 | dead: 0.001
482 | sensitivity: 1000
483 | snap: 0
484 | invert: 0
485 | type: 2
486 | axis: 5
487 | joyNum: 0
488 |
--------------------------------------------------------------------------------
/ProjectSettings/MemorySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!387306366 &1
4 | MemorySettings:
5 | m_ObjectHideFlags: 0
6 | m_EditorMemorySettings:
7 | m_MainAllocatorBlockSize: -1
8 | m_ThreadAllocatorBlockSize: -1
9 | m_MainGfxBlockSize: -1
10 | m_ThreadGfxBlockSize: -1
11 | m_CacheBlockSize: -1
12 | m_TypetreeBlockSize: -1
13 | m_ProfilerBlockSize: -1
14 | m_ProfilerEditorBlockSize: -1
15 | m_BucketAllocatorGranularity: -1
16 | m_BucketAllocatorBucketsCount: -1
17 | m_BucketAllocatorBlockSize: -1
18 | m_BucketAllocatorBlockCount: -1
19 | m_ProfilerBucketAllocatorGranularity: -1
20 | m_ProfilerBucketAllocatorBucketsCount: -1
21 | m_ProfilerBucketAllocatorBlockSize: -1
22 | m_ProfilerBucketAllocatorBlockCount: -1
23 | m_TempAllocatorSizeMain: -1
24 | m_JobTempAllocatorBlockSize: -1
25 | m_BackgroundJobTempAllocatorBlockSize: -1
26 | m_JobTempAllocatorReducedBlockSize: -1
27 | m_TempAllocatorSizeGIBakingWorker: -1
28 | m_TempAllocatorSizeNavMeshWorker: -1
29 | m_TempAllocatorSizeAudioWorker: -1
30 | m_TempAllocatorSizeCloudWorker: -1
31 | m_TempAllocatorSizeGfx: -1
32 | m_TempAllocatorSizeJobWorker: -1
33 | m_TempAllocatorSizeBackgroundWorker: -1
34 | m_TempAllocatorSizePreloadManager: -1
35 | m_PlatformMemorySettings: {}
36 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreReleasePackages: 0
16 | m_EnablePackageDependencies: 0
17 | m_AdvancedSettingsExpanded: 1
18 | m_ScopedRegistriesSettingsExpanded: 1
19 | m_SeeAllPackageVersions: 0
20 | oneTimeWarningShown: 0
21 | m_Registries:
22 | - m_Id: main
23 | m_Name:
24 | m_Url: https://packages.unity.com
25 | m_Scopes: []
26 | m_IsDefault: 1
27 | m_Capabilities: 7
28 | m_UserSelectedRegistryName:
29 | m_UserAddingNewScopedRegistry: 0
30 | m_RegistryInfoDraft:
31 | m_Modified: 0
32 | m_ErrorMessage:
33 | m_UserModificationsInstanceId: -850
34 | m_OriginalInstanceId: -852
35 | m_LoadAssets: 0
36 |
--------------------------------------------------------------------------------
/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "m_Name": "Settings",
3 | "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json",
4 | "m_Dictionary": {
5 | "m_DictionaryValues": []
6 | }
7 | }
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 108
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: 463065d4f17d1d94d848aa127b94dd43,
13 | type: 2}
14 | - type:
15 | m_NativeTypeID: 1020
16 | m_ManagedTypePPtr: {fileID: 0}
17 | m_ManagedTypeFallback:
18 | defaultPresets:
19 | - m_Preset: {fileID: 2655988077585873504, guid: e7689051185d12f4298e1ebb2693a29f,
20 | type: 2}
21 | - type:
22 | m_NativeTypeID: 1006
23 | m_ManagedTypePPtr: {fileID: 0}
24 | m_ManagedTypeFallback:
25 | defaultPresets:
26 | - m_Preset: {fileID: 2655988077585873504, guid: e8537455c6c08bd4e8bf0be3707da685,
27 | type: 2}
28 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2021.3.25f1
2 | m_EditorVersionWithRevision: 2021.3.25f1 (68ef2c4f8861)
3 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 3
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 20
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | skinWeights: 4
22 | textureQuality: 0
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.4
31 | maximumLODLevel: 0
32 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 16
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | customRenderPipeline: {fileID: 11400000, guid: a31e9f9f9c9d4b9429ed0d1234e22103, type: 2}
44 | excludedTargetPlatforms: []
45 | - serializedVersion: 2
46 | name: Medium
47 | pixelLightCount: 1
48 | shadows: 1
49 | shadowResolution: 0
50 | shadowProjection: 1
51 | shadowCascades: 1
52 | shadowDistance: 20
53 | shadowNearPlaneOffset: 3
54 | shadowCascade2Split: 0.33333334
55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
56 | shadowmaskMode: 0
57 | skinWeights: 4
58 | textureQuality: 0
59 | anisotropicTextures: 1
60 | antiAliasing: 0
61 | softParticles: 0
62 | softVegetation: 0
63 | realtimeReflectionProbes: 0
64 | billboardsFaceCameraPosition: 0
65 | vSyncCount: 1
66 | lodBias: 0.7
67 | maximumLODLevel: 0
68 | streamingMipmapsActive: 0
69 | streamingMipmapsAddAllCameras: 1
70 | streamingMipmapsMemoryBudget: 512
71 | streamingMipmapsRenderersPerFrame: 512
72 | streamingMipmapsMaxLevelReduction: 2
73 | streamingMipmapsMaxFileIORequests: 1024
74 | particleRaycastBudget: 64
75 | asyncUploadTimeSlice: 2
76 | asyncUploadBufferSize: 16
77 | asyncUploadPersistentBuffer: 1
78 | resolutionScalingFixedDPIFactor: 1
79 | customRenderPipeline: {fileID: 11400000, guid: d847b876476d3d6468f5dfcd34266f96, type: 2}
80 | excludedTargetPlatforms: []
81 | - serializedVersion: 2
82 | name: High
83 | pixelLightCount: 2
84 | shadows: 2
85 | shadowResolution: 1
86 | shadowProjection: 1
87 | shadowCascades: 2
88 | shadowDistance: 40
89 | shadowNearPlaneOffset: 3
90 | shadowCascade2Split: 0.33333334
91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
92 | shadowmaskMode: 1
93 | skinWeights: 255
94 | textureQuality: 0
95 | anisotropicTextures: 1
96 | antiAliasing: 2
97 | softParticles: 0
98 | softVegetation: 1
99 | realtimeReflectionProbes: 1
100 | billboardsFaceCameraPosition: 1
101 | vSyncCount: 1
102 | lodBias: 1
103 | maximumLODLevel: 0
104 | streamingMipmapsActive: 0
105 | streamingMipmapsAddAllCameras: 1
106 | streamingMipmapsMemoryBudget: 512
107 | streamingMipmapsRenderersPerFrame: 512
108 | streamingMipmapsMaxLevelReduction: 2
109 | streamingMipmapsMaxFileIORequests: 1024
110 | particleRaycastBudget: 256
111 | asyncUploadTimeSlice: 2
112 | asyncUploadBufferSize: 16
113 | asyncUploadPersistentBuffer: 1
114 | resolutionScalingFixedDPIFactor: 1
115 | customRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0, type: 2}
116 | excludedTargetPlatforms: []
117 | - serializedVersion: 2
118 | name: Custom
119 | pixelLightCount: 2
120 | shadows: 2
121 | shadowResolution: 1
122 | shadowProjection: 1
123 | shadowCascades: 2
124 | shadowDistance: 40
125 | shadowNearPlaneOffset: 3
126 | shadowCascade2Split: 0.33333334
127 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
128 | shadowmaskMode: 1
129 | skinWeights: 255
130 | textureQuality: 0
131 | anisotropicTextures: 1
132 | antiAliasing: 0
133 | softParticles: 0
134 | softVegetation: 1
135 | realtimeReflectionProbes: 1
136 | billboardsFaceCameraPosition: 1
137 | vSyncCount: 1
138 | lodBias: 1
139 | maximumLODLevel: 0
140 | streamingMipmapsActive: 0
141 | streamingMipmapsAddAllCameras: 1
142 | streamingMipmapsMemoryBudget: 512
143 | streamingMipmapsRenderersPerFrame: 512
144 | streamingMipmapsMaxLevelReduction: 2
145 | streamingMipmapsMaxFileIORequests: 1024
146 | particleRaycastBudget: 256
147 | asyncUploadTimeSlice: 2
148 | asyncUploadBufferSize: 16
149 | asyncUploadPersistentBuffer: 1
150 | resolutionScalingFixedDPIFactor: 1
151 | customRenderPipeline: {fileID: 11400000, guid: 7103551289681374396b642b0fda7449, type: 2}
152 | excludedTargetPlatforms: []
153 | m_PerPlatformDefaultQuality:
154 | Android: 1
155 | GameCoreScarlett: 2
156 | GameCoreXboxOne: 2
157 | Lumin: 2
158 | Nintendo Switch: 3
159 | PS4: 2
160 | PS5: 2
161 | Server: 3
162 | Stadia: 2
163 | Standalone: 3
164 | WebGL: 1
165 | Windows Store Apps: 2
166 | XboxOne: 2
167 | iPhone: 1
168 | tvOS: 1
169 |
--------------------------------------------------------------------------------
/ProjectSettings/SceneTemplateSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "templatePinStates": [],
3 | "dependencyTypeInfos": [
4 | {
5 | "userAdded": false,
6 | "type": "UnityEngine.AnimationClip",
7 | "ignore": false,
8 | "defaultInstantiationMode": 0,
9 | "supportsModification": true
10 | },
11 | {
12 | "userAdded": false,
13 | "type": "UnityEditor.Animations.AnimatorController",
14 | "ignore": false,
15 | "defaultInstantiationMode": 0,
16 | "supportsModification": true
17 | },
18 | {
19 | "userAdded": false,
20 | "type": "UnityEngine.AnimatorOverrideController",
21 | "ignore": false,
22 | "defaultInstantiationMode": 0,
23 | "supportsModification": true
24 | },
25 | {
26 | "userAdded": false,
27 | "type": "UnityEditor.Audio.AudioMixerController",
28 | "ignore": false,
29 | "defaultInstantiationMode": 0,
30 | "supportsModification": true
31 | },
32 | {
33 | "userAdded": false,
34 | "type": "UnityEngine.ComputeShader",
35 | "ignore": true,
36 | "defaultInstantiationMode": 1,
37 | "supportsModification": true
38 | },
39 | {
40 | "userAdded": false,
41 | "type": "UnityEngine.Cubemap",
42 | "ignore": false,
43 | "defaultInstantiationMode": 0,
44 | "supportsModification": true
45 | },
46 | {
47 | "userAdded": false,
48 | "type": "UnityEngine.GameObject",
49 | "ignore": false,
50 | "defaultInstantiationMode": 0,
51 | "supportsModification": true
52 | },
53 | {
54 | "userAdded": false,
55 | "type": "UnityEditor.LightingDataAsset",
56 | "ignore": false,
57 | "defaultInstantiationMode": 0,
58 | "supportsModification": false
59 | },
60 | {
61 | "userAdded": false,
62 | "type": "UnityEngine.LightingSettings",
63 | "ignore": false,
64 | "defaultInstantiationMode": 0,
65 | "supportsModification": true
66 | },
67 | {
68 | "userAdded": false,
69 | "type": "UnityEngine.Material",
70 | "ignore": false,
71 | "defaultInstantiationMode": 0,
72 | "supportsModification": true
73 | },
74 | {
75 | "userAdded": false,
76 | "type": "UnityEditor.MonoScript",
77 | "ignore": true,
78 | "defaultInstantiationMode": 1,
79 | "supportsModification": true
80 | },
81 | {
82 | "userAdded": false,
83 | "type": "UnityEngine.PhysicMaterial",
84 | "ignore": false,
85 | "defaultInstantiationMode": 0,
86 | "supportsModification": true
87 | },
88 | {
89 | "userAdded": false,
90 | "type": "UnityEngine.PhysicsMaterial2D",
91 | "ignore": false,
92 | "defaultInstantiationMode": 0,
93 | "supportsModification": true
94 | },
95 | {
96 | "userAdded": false,
97 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
98 | "ignore": false,
99 | "defaultInstantiationMode": 0,
100 | "supportsModification": true
101 | },
102 | {
103 | "userAdded": false,
104 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
105 | "ignore": false,
106 | "defaultInstantiationMode": 0,
107 | "supportsModification": true
108 | },
109 | {
110 | "userAdded": false,
111 | "type": "UnityEngine.Rendering.VolumeProfile",
112 | "ignore": false,
113 | "defaultInstantiationMode": 0,
114 | "supportsModification": true
115 | },
116 | {
117 | "userAdded": false,
118 | "type": "UnityEditor.SceneAsset",
119 | "ignore": false,
120 | "defaultInstantiationMode": 0,
121 | "supportsModification": false
122 | },
123 | {
124 | "userAdded": false,
125 | "type": "UnityEngine.Shader",
126 | "ignore": true,
127 | "defaultInstantiationMode": 1,
128 | "supportsModification": true
129 | },
130 | {
131 | "userAdded": false,
132 | "type": "UnityEngine.ShaderVariantCollection",
133 | "ignore": true,
134 | "defaultInstantiationMode": 1,
135 | "supportsModification": true
136 | },
137 | {
138 | "userAdded": false,
139 | "type": "UnityEngine.Texture",
140 | "ignore": false,
141 | "defaultInstantiationMode": 0,
142 | "supportsModification": true
143 | },
144 | {
145 | "userAdded": false,
146 | "type": "UnityEngine.Texture2D",
147 | "ignore": false,
148 | "defaultInstantiationMode": 0,
149 | "supportsModification": true
150 | },
151 | {
152 | "userAdded": false,
153 | "type": "UnityEngine.Timeline.TimelineAsset",
154 | "ignore": false,
155 | "defaultInstantiationMode": 0,
156 | "supportsModification": true
157 | }
158 | ],
159 | "defaultDependencyTypeInfo": {
160 | "userAdded": false,
161 | "type": "",
162 | "ignore": false,
163 | "defaultInstantiationMode": 1,
164 | "supportsModification": true
165 | },
166 | "newSceneOverride": 0
167 | }
--------------------------------------------------------------------------------
/ProjectSettings/ShaderGraphSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | customInterpolatorErrorThreshold: 32
16 | customInterpolatorWarningThreshold: 16
17 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | - Character
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.1
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/URPProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_LastMaterialVersion: 5
16 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_DashboardUrl: https://dashboard.unity3d.com
13 | m_TestInitMode: 0
14 | CrashReportingSettings:
15 | m_EventUrl: https://perf-events.cloud.unity3d.com
16 | m_Enabled: 0
17 | m_LogBufferSize: 10
18 | m_CaptureEditorExceptions: 1
19 | UnityPurchasingSettings:
20 | m_Enabled: 0
21 | m_TestMode: 0
22 | UnityAnalyticsSettings:
23 | m_Enabled: 0
24 | m_TestMode: 0
25 | m_InitializeOnStartup: 1
26 | UnityAdsSettings:
27 | m_Enabled: 0
28 | m_InitializeOnStartup: 1
29 | m_TestMode: 0
30 | m_IosGameId:
31 | m_AndroidGameId:
32 | m_GameIds: {}
33 | m_GameId:
34 | PerformanceReportingSettings:
35 | m_Enabled: 0
36 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/ProjectSettings/boot.config:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yugo-unity/DecalFakeShadow/4b41e2323be6de5cc1c18a560b464498b071968c/ProjectSettings/boot.config
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yugo-unity/DecalFakeShadow/4b41e2323be6de5cc1c18a560b464498b071968c/README.md
--------------------------------------------------------------------------------