diff options
author | chai <chaifix@163.com> | 2022-02-17 19:42:30 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-02-17 19:42:30 +0800 |
commit | e5d082b220eaa4351086b27607231f5df01a0903 (patch) | |
tree | 49f8ea1678889ee0c3b902eaa107e32551b27df1 | |
parent | 701113cf63da4115f932b6cfb89cd52828ffa405 (diff) |
*misc
36 files changed, 989 insertions, 27 deletions
diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity b/JamHelper/Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity index c44bd18..139d3fa 100644 --- a/JamHelper/Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity @@ -749,7 +749,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28150 + m_Name: pb_Mesh35256 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -907,6 +907,35 @@ Mesh: offset: 0 size: 0 path: +--- !u!1 &148244777 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7739210602112578987, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} + m_PrefabInstance: {fileID: 6879717249385526193} + m_PrefabAsset: {fileID: 0} +--- !u!114 &148244782 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148244777} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 60e373202cc879c4a8e781f92dbdcb48, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &148244783 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 148244777} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 63b841e9c9589044db9f0b7edfca90bd, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &153808474 GameObject: m_ObjectHideFlags: 0 @@ -1696,7 +1725,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28166 + m_Name: pb_Mesh35268 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -2110,7 +2139,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28062 + m_Name: pb_Mesh35188 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7040,7 +7069,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh27806 + m_Name: pb_Mesh34970 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7204,7 +7233,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28264 + m_Name: pb_Mesh35352 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7550,7 +7579,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh27956 + m_Name: pb_Mesh35090 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7745,7 +7774,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28220 + m_Name: pb_Mesh35318 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7909,7 +7938,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh27976 + m_Name: pb_Mesh35102 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -8754,7 +8783,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28114 + m_Name: pb_Mesh35232 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14056,7 +14085,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh27938 + m_Name: pb_Mesh35062 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14332,7 +14361,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh27846 + m_Name: pb_Mesh35002 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14496,7 +14525,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh28126 + m_Name: pb_Mesh35244 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -16072,6 +16101,14 @@ PrefabInstance: propertyPath: m_Camera value: objectReference: {fileID: 685442961} + - target: {fileID: 7739210602112578966, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} + propertyPath: m_MoveSmooth + value: 0.2 + objectReference: {fileID: 0} + - target: {fileID: 7739210602112578966, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} + propertyPath: m_LookSensitive + value: 1200 + objectReference: {fileID: 0} - target: {fileID: 7739210602112578984, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} propertyPath: m_RootOrder value: 13 @@ -16116,6 +16153,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 7739210602112578985, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} + propertyPath: m_Interpolate + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7739210602112578987, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} propertyPath: m_Name value: Player_Velocity diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs index c51fffc..cbb3bf0 100644 --- a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs @@ -128,6 +128,8 @@ namespace JamTools float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
+ //mouseX = -0.1f; // test jittery
+
m_CameraRotation -= mouseY * Time.deltaTime * m_LookSensitive;
m_CameraRotation = Mathf.Clamp(m_CameraRotation, -90, 90);
Quaternion rot = Quaternion.Euler(m_CameraRotation, 0, 0);
@@ -186,7 +188,7 @@ namespace JamTools float vy = m_Rigidbody.velocity.y;
Vector3 velocity = new Vector3(m_MoveDirection.x * Time.deltaTime * m_MoveSpeed, vy, m_MoveDirection.z * Time.deltaTime * m_MoveSpeed);
- m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveSmooth);
+ m_Rigidbody.velocity = Vector3.Slerp(m_Rigidbody.velocity, velocity, m_MoveSmooth);
}
void MoveInAirUpdate()
@@ -367,7 +369,6 @@ namespace JamTools private void Update()
{
- LookAround();
MoveAroundUpdate();
MoveInAirUpdate();
Jump();
@@ -381,6 +382,7 @@ namespace JamTools private void FixedUpdate()
{
+ LookAround();
MoveAroundFixedUpdate();
MoveInAirFixedUpdate();
DodgeFixed();
@@ -389,11 +391,5 @@ namespace JamTools WallJumpFixedUpdate();
}
- private void OnDrawGizmos()
- {
-
- }
-
}
-
}
diff --git a/JamHelper/Assets/JamTools/JamTools.asmdef b/JamHelper/Assets/JamTools/JamTools.asmdef new file mode 100644 index 0000000..e617a6c --- /dev/null +++ b/JamHelper/Assets/JamTools/JamTools.asmdef @@ -0,0 +1,14 @@ +{ + "name": "JamTools", + "rootNamespace": "", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +}
\ No newline at end of file diff --git a/JamHelper/Assets/JamTools/JamTools.asmdef.meta b/JamHelper/Assets/JamTools/JamTools.asmdef.meta new file mode 100644 index 0000000..6f51606 --- /dev/null +++ b/JamHelper/Assets/JamTools/JamTools.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4deea6c4c3ca05d489c2b43a9ddf4888 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Navigation.meta b/JamHelper/Assets/JamTools/Navigation.meta new file mode 100644 index 0000000..5859caa --- /dev/null +++ b/JamHelper/Assets/JamTools/Navigation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e651be17708df2f42861487a9ec9a792 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Navigation/NavigationTest.unity b/JamHelper/Assets/JamTools/Navigation/NavigationTest.unity new file mode 100644 index 0000000..d52679b --- /dev/null +++ b/JamHelper/Assets/JamTools/Navigation/NavigationTest.unity @@ -0,0 +1,301 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &164326378 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 164326381} + - component: {fileID: 164326380} + - component: {fileID: 164326379} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &164326379 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164326378} + m_Enabled: 1 +--- !u!20 &164326380 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164326378} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &164326381 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 164326378} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1157050077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157050079} + - component: {fileID: 1157050078} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1157050078 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157050077} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1157050079 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157050077} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} diff --git a/JamHelper/Assets/JamTools/Navigation/NavigationTest.unity.meta b/JamHelper/Assets/JamTools/Navigation/NavigationTest.unity.meta new file mode 100644 index 0000000..48b157e --- /dev/null +++ b/JamHelper/Assets/JamTools/Navigation/NavigationTest.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5d6539a8262cb5b45b695a8ed6b6e804 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity.meta b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity.meta new file mode 100644 index 0000000..4c9a6c9 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27aa6a2b9b6bc35439e3d59b7090f631 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs new file mode 100644 index 0000000..efb96f3 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs @@ -0,0 +1,58 @@ +using UnityEngine; + +[DisallowMultipleComponent] +[DefaultExecutionOrder(ORDER_EXECUTION)] +public class InterpolationFactorController : MonoBehaviour +{ + public const int ORDER_EXECUTION = -1000; + + private static InterpolationFactorController Instance; + private float[] _lastFixedUpdates = new float[2]; + private int _lastIndex; + + public static float Factor { get; private set; } + + private void Awake() + { + if (Instance) + { + Destroy(this); + Debug.LogWarning($"The '{typeof(InterpolationFactorController).Name}' is a singleton!"); + return; + } + + Instance = this; + Factor = 1; + } + + private void Start() + { + _lastFixedUpdates = new float[2] { Time.fixedTime, Time.fixedTime }; + _lastIndex = 0; + } + + private void FixedUpdate() + { + _lastIndex = NextIndex(); + _lastFixedUpdates[_lastIndex] = Time.fixedTime; + } + + private void Update() + { + float lastTime = _lastFixedUpdates[_lastIndex]; + float prevTime = _lastFixedUpdates[NextIndex()]; + + if (lastTime == prevTime) + { + Factor = 1; + return; + } + + Factor = (Time.time - lastTime) / (lastTime - prevTime); + } + + private int NextIndex() + { + return (_lastIndex == 0) ? 1 : 0; + } +} diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs.meta b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs.meta new file mode 100644 index 0000000..ca7364a --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 63b841e9c9589044db9f0b7edfca90bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: -95 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs new file mode 100644 index 0000000..9a83fe0 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs @@ -0,0 +1,117 @@ +using System.Collections; +using UnityEngine; + +[DisallowMultipleComponent] +[DefaultExecutionOrder(ORDER_EXECUTION)] +public class InterpolationObjectController : MonoBehaviour +{ + public const int ORDER_EXECUTION = InterpolationFactorController.ORDER_EXECUTION - 1; + + private TransformData[] _transforms; + private int _index; + + private void Awake() + { + StartCoroutine(WaitForEndOfFrame()); + StartCoroutine(WaitForFixedUpdate()); + } + + private void OnEnable() + { + ResetTransforms(); + } + + private void BeforeFixedUpdate() + { + // Restoring actual transform for the FixedUpdate() cal where it could be change by the user. + RestoreActualTransform(); + } + + private void AfterFixedUpdate() + { + // Saving actual transform for being restored in the BeforeFixedUpdate() method. + SaveActualTransform(); + } + + private void Update() + { + // Set interpolated transform for being rendered. + SetInterpolatedTransform(); + } + + #region Helpers + + private void RestoreActualTransform() + { + var latest = _transforms[_index]; + transform.localPosition = latest.position; + transform.localScale = latest.scale; + transform.localRotation = latest.rotation; + } + + private void SaveActualTransform() + { + _index = NextIndex(); + _transforms[_index] = CurrentTransformData(); + } + + private void SetInterpolatedTransform() + { + var prev = _transforms[NextIndex()]; + float factor = InterpolationFactorController.Factor; + transform.localPosition = Vector3.Lerp(prev.position, transform.localPosition, factor); + transform.localRotation = Quaternion.Slerp(prev.rotation, transform.localRotation, factor); + transform.localScale = Vector3.Lerp(prev.scale, transform.localScale, factor); + } + + public void ResetTransforms() + { + _index = 0; + var td = CurrentTransformData(); + _transforms = new TransformData[2] { td, td }; + } + + private TransformData CurrentTransformData() + { + return new TransformData(transform.localPosition, transform.localRotation, transform.localScale); + } + + private int NextIndex() + { + return (_index == 0) ? 1 : 0; + } + + private IEnumerator WaitForEndOfFrame() + { + while (true) + { + yield return new WaitForEndOfFrame(); + BeforeFixedUpdate(); + } + } + + private IEnumerator WaitForFixedUpdate() + { + while (true) + { + yield return new WaitForFixedUpdate(); + AfterFixedUpdate(); + } + } + + private struct TransformData + { + public Vector3 position; + public Quaternion rotation; + public Vector3 scale; + + public TransformData(Vector3 position, Quaternion rotation, Vector3 scale) + { + this.position = position; + this.rotation = rotation; + this.scale = scale; + } + } + + #endregion +} diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs.meta b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs.meta new file mode 100644 index 0000000..80c49da --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 60e373202cc879c4a8e781f92dbdcb48 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: -90 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/README.md b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/README.md new file mode 100644 index 0000000..016072b --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/README.md @@ -0,0 +1,12 @@ +# Smooth Motion in Unity (refactored) + +This is an improved (refactored) version of the code from the ["Timesteps and Achieving Smooth Motion in Unity"](https://www.kinematicsoup.com/news/2016/8/9/rrypp5tkubynjwxhxjzd42s3o034o8?utm_source=youtube&utm_type=SMVideo) article. + +Now, there are only 2 components instead of original 3: + +1. [`InterpolationFactorController`](https://github.com/DevelAx/Smooth-Motion-in-Unity/blob/master/InterpolationFactorController.cs) a singleton scene component (the original name was `InterpolationController`) that calculates the current *interpolation factor*. +2. [`InterpolationObjectController`](https://github.com/DevelAx/Smooth-Motion-in-Unity/blob/master/InterpolationObjectController.cs) a component for a moving object (the original name was `InterpolatedTransform`) which calculates the current interpolation for the object in the `Update()` method before it's being rendered and then restores its original `transform` values for the next `FixedUpdate()` call. +3. The `InterpolatedTransformUpdater` component was removed as unnecessary. + +## Remarks +For these scripts to work correctly the user's script must change the object's `transform` only in the `FixedUpdate()` method. When teleporting the object the user should call the (`InterpolationObjectController`).`ResetTransforms()` method after it. diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/README.md.meta b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/README.md.meta new file mode 100644 index 0000000..b5455ff --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 933a0ade2c59f904c9eed3fb284afb77 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests.meta b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests.meta new file mode 100644 index 0000000..74a5329 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2255b40400c2ac8469bc94ee99676fb4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs new file mode 100644 index 0000000..3bf706a --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +/// <summary> +/// Use this component with a game object for demonstration purposes. +/// </summary> +[DisallowMultipleComponent] +[RequireComponent(typeof(InterpolationObjectController))] +public class TestMotion : MonoBehaviour +{ + [SerializeField] + private float _speed = 2f; + + private void FixedUpdate() + { + transform.position += Vector3.right * _speed * Time.fixedDeltaTime; + transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y + _speed * 30 * Time.fixedDeltaTime, transform.rotation.eulerAngles.z); + } +} diff --git a/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs.meta b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs.meta new file mode 100644 index 0000000..fe06ffe --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 80afb4adbb1d67247ac41a23d04b67d7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamUI/JamUI.asmdef b/JamHelper/Assets/JamUI/JamUI.asmdef new file mode 100644 index 0000000..744eeb7 --- /dev/null +++ b/JamHelper/Assets/JamUI/JamUI.asmdef @@ -0,0 +1,3 @@ +{
+ "name": "JamUI"
+}
diff --git a/JamHelper/Assets/JamUI/JamUI.asmdef.meta b/JamHelper/Assets/JamUI/JamUI.asmdef.meta new file mode 100644 index 0000000..baa98cf --- /dev/null +++ b/JamHelper/Assets/JamUI/JamUI.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a3b7b702c39945846a1b9ddaad2589b3 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamVFX/JamVFX.asmdef b/JamHelper/Assets/JamVFX/JamVFX.asmdef new file mode 100644 index 0000000..2f6d085 --- /dev/null +++ b/JamHelper/Assets/JamVFX/JamVFX.asmdef @@ -0,0 +1,3 @@ +{
+ "name": "JamVFX"
+}
diff --git a/JamHelper/Assets/JamVFX/JamVFX.asmdef.meta b/JamHelper/Assets/JamVFX/JamVFX.asmdef.meta new file mode 100644 index 0000000..d50b66c --- /dev/null +++ b/JamHelper/Assets/JamVFX/JamVFX.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 965141f7c8dc39e479ec74d8b8beac26 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts.meta b/JamHelper/Assets/Scripts.meta new file mode 100644 index 0000000..bbe1fa0 --- /dev/null +++ b/JamHelper/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f5c544f279202b4eb31d1b8ea641cdd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity.meta b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity.meta new file mode 100644 index 0000000..2fa3ec8 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ee782fd61fb4d0498655c70ebc3c55a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs new file mode 100644 index 0000000..efb96f3 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs @@ -0,0 +1,58 @@ +using UnityEngine; + +[DisallowMultipleComponent] +[DefaultExecutionOrder(ORDER_EXECUTION)] +public class InterpolationFactorController : MonoBehaviour +{ + public const int ORDER_EXECUTION = -1000; + + private static InterpolationFactorController Instance; + private float[] _lastFixedUpdates = new float[2]; + private int _lastIndex; + + public static float Factor { get; private set; } + + private void Awake() + { + if (Instance) + { + Destroy(this); + Debug.LogWarning($"The '{typeof(InterpolationFactorController).Name}' is a singleton!"); + return; + } + + Instance = this; + Factor = 1; + } + + private void Start() + { + _lastFixedUpdates = new float[2] { Time.fixedTime, Time.fixedTime }; + _lastIndex = 0; + } + + private void FixedUpdate() + { + _lastIndex = NextIndex(); + _lastFixedUpdates[_lastIndex] = Time.fixedTime; + } + + private void Update() + { + float lastTime = _lastFixedUpdates[_lastIndex]; + float prevTime = _lastFixedUpdates[NextIndex()]; + + if (lastTime == prevTime) + { + Factor = 1; + return; + } + + Factor = (Time.time - lastTime) / (lastTime - prevTime); + } + + private int NextIndex() + { + return (_lastIndex == 0) ? 1 : 0; + } +} diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs.meta b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs.meta new file mode 100644 index 0000000..5ccc518 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationFactorController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e46e87749463bf14c853d26c9f2d94b5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs new file mode 100644 index 0000000..9a83fe0 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs @@ -0,0 +1,117 @@ +using System.Collections; +using UnityEngine; + +[DisallowMultipleComponent] +[DefaultExecutionOrder(ORDER_EXECUTION)] +public class InterpolationObjectController : MonoBehaviour +{ + public const int ORDER_EXECUTION = InterpolationFactorController.ORDER_EXECUTION - 1; + + private TransformData[] _transforms; + private int _index; + + private void Awake() + { + StartCoroutine(WaitForEndOfFrame()); + StartCoroutine(WaitForFixedUpdate()); + } + + private void OnEnable() + { + ResetTransforms(); + } + + private void BeforeFixedUpdate() + { + // Restoring actual transform for the FixedUpdate() cal where it could be change by the user. + RestoreActualTransform(); + } + + private void AfterFixedUpdate() + { + // Saving actual transform for being restored in the BeforeFixedUpdate() method. + SaveActualTransform(); + } + + private void Update() + { + // Set interpolated transform for being rendered. + SetInterpolatedTransform(); + } + + #region Helpers + + private void RestoreActualTransform() + { + var latest = _transforms[_index]; + transform.localPosition = latest.position; + transform.localScale = latest.scale; + transform.localRotation = latest.rotation; + } + + private void SaveActualTransform() + { + _index = NextIndex(); + _transforms[_index] = CurrentTransformData(); + } + + private void SetInterpolatedTransform() + { + var prev = _transforms[NextIndex()]; + float factor = InterpolationFactorController.Factor; + transform.localPosition = Vector3.Lerp(prev.position, transform.localPosition, factor); + transform.localRotation = Quaternion.Slerp(prev.rotation, transform.localRotation, factor); + transform.localScale = Vector3.Lerp(prev.scale, transform.localScale, factor); + } + + public void ResetTransforms() + { + _index = 0; + var td = CurrentTransformData(); + _transforms = new TransformData[2] { td, td }; + } + + private TransformData CurrentTransformData() + { + return new TransformData(transform.localPosition, transform.localRotation, transform.localScale); + } + + private int NextIndex() + { + return (_index == 0) ? 1 : 0; + } + + private IEnumerator WaitForEndOfFrame() + { + while (true) + { + yield return new WaitForEndOfFrame(); + BeforeFixedUpdate(); + } + } + + private IEnumerator WaitForFixedUpdate() + { + while (true) + { + yield return new WaitForFixedUpdate(); + AfterFixedUpdate(); + } + } + + private struct TransformData + { + public Vector3 position; + public Quaternion rotation; + public Vector3 scale; + + public TransformData(Vector3 position, Quaternion rotation, Vector3 scale) + { + this.position = position; + this.rotation = rotation; + this.scale = scale; + } + } + + #endregion +} diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs.meta b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs.meta new file mode 100644 index 0000000..3713b90 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b67d250d8c3c3444696fd7025a189cb2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/README.md b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/README.md new file mode 100644 index 0000000..016072b --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/README.md @@ -0,0 +1,12 @@ +# Smooth Motion in Unity (refactored) + +This is an improved (refactored) version of the code from the ["Timesteps and Achieving Smooth Motion in Unity"](https://www.kinematicsoup.com/news/2016/8/9/rrypp5tkubynjwxhxjzd42s3o034o8?utm_source=youtube&utm_type=SMVideo) article. + +Now, there are only 2 components instead of original 3: + +1. [`InterpolationFactorController`](https://github.com/DevelAx/Smooth-Motion-in-Unity/blob/master/InterpolationFactorController.cs) a singleton scene component (the original name was `InterpolationController`) that calculates the current *interpolation factor*. +2. [`InterpolationObjectController`](https://github.com/DevelAx/Smooth-Motion-in-Unity/blob/master/InterpolationObjectController.cs) a component for a moving object (the original name was `InterpolatedTransform`) which calculates the current interpolation for the object in the `Update()` method before it's being rendered and then restores its original `transform` values for the next `FixedUpdate()` call. +3. The `InterpolatedTransformUpdater` component was removed as unnecessary. + +## Remarks +For these scripts to work correctly the user's script must change the object's `transform` only in the `FixedUpdate()` method. When teleporting the object the user should call the (`InterpolationObjectController`).`ResetTransforms()` method after it. diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/README.md.meta b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/README.md.meta new file mode 100644 index 0000000..51d1cc8 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 21e83c3a42dfa0a41a26dd8be5efb875 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests.meta b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests.meta new file mode 100644 index 0000000..50f7279 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74360e905b7961943baf642bbadbd795 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs new file mode 100644 index 0000000..3bf706a --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +/// <summary> +/// Use this component with a game object for demonstration purposes. +/// </summary> +[DisallowMultipleComponent] +[RequireComponent(typeof(InterpolationObjectController))] +public class TestMotion : MonoBehaviour +{ + [SerializeField] + private float _speed = 2f; + + private void FixedUpdate() + { + transform.position += Vector3.right * _speed * Time.fixedDeltaTime; + transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y + _speed * 30 * Time.fixedDeltaTime, transform.rotation.eulerAngles.z); + } +} diff --git a/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs.meta b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs.meta new file mode 100644 index 0000000..ed36b36 --- /dev/null +++ b/JamHelper/Assets/Scripts/Smooth-Motion-in-Unity/Tests/TestMotion.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5d5926e8356360240bdac050edba52a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/Scripts/TestBed.cs b/JamHelper/Assets/Scripts/TestBed.cs new file mode 100644 index 0000000..baded9c --- /dev/null +++ b/JamHelper/Assets/Scripts/TestBed.cs @@ -0,0 +1,18 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestBed : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/JamHelper/Assets/Scripts/TestBed.cs.meta b/JamHelper/Assets/Scripts/TestBed.cs.meta new file mode 100644 index 0000000..f87c63d --- /dev/null +++ b/JamHelper/Assets/Scripts/TestBed.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d3447af4554c1574db33e279f0c41ced +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/ProjectSettings/QualitySettings.asset b/JamHelper/ProjectSettings/QualitySettings.asset index 7b7658d..590e81b 100644 --- a/JamHelper/ProjectSettings/QualitySettings.asset +++ b/JamHelper/ProjectSettings/QualitySettings.asset @@ -18,7 +18,7 @@ QualitySettings: shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} shadowmaskMode: 0 - blendWeights: 1 + skinWeights: 1 textureQuality: 1 anisotropicTextures: 0 antiAliasing: 0 @@ -40,6 +40,7 @@ QualitySettings: asyncUploadBufferSize: 16 asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} excludedTargetPlatforms: [] - serializedVersion: 2 name: Low @@ -53,7 +54,7 @@ QualitySettings: shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} shadowmaskMode: 0 - blendWeights: 2 + skinWeights: 2 textureQuality: 0 anisotropicTextures: 0 antiAliasing: 0 @@ -75,6 +76,7 @@ QualitySettings: asyncUploadBufferSize: 16 asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} excludedTargetPlatforms: [] - serializedVersion: 2 name: Medium @@ -88,7 +90,7 @@ QualitySettings: shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} shadowmaskMode: 0 - blendWeights: 2 + skinWeights: 2 textureQuality: 0 anisotropicTextures: 1 antiAliasing: 0 @@ -110,6 +112,7 @@ QualitySettings: asyncUploadBufferSize: 16 asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} excludedTargetPlatforms: [] - serializedVersion: 2 name: High @@ -123,7 +126,7 @@ QualitySettings: shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} shadowmaskMode: 1 - blendWeights: 2 + skinWeights: 2 textureQuality: 0 anisotropicTextures: 1 antiAliasing: 0 @@ -145,6 +148,7 @@ QualitySettings: asyncUploadBufferSize: 16 asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} excludedTargetPlatforms: [] - serializedVersion: 2 name: Very High @@ -158,7 +162,7 @@ QualitySettings: shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} shadowmaskMode: 1 - blendWeights: 4 + skinWeights: 4 textureQuality: 0 anisotropicTextures: 2 antiAliasing: 2 @@ -180,6 +184,7 @@ QualitySettings: asyncUploadBufferSize: 16 asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} excludedTargetPlatforms: [] - serializedVersion: 2 name: Ultra @@ -193,7 +198,7 @@ QualitySettings: shadowCascade2Split: 0.33333334 shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} shadowmaskMode: 1 - blendWeights: 4 + skinWeights: 4 textureQuality: 0 anisotropicTextures: 2 antiAliasing: 2 @@ -201,7 +206,7 @@ QualitySettings: softVegetation: 1 realtimeReflectionProbes: 1 billboardsFaceCameraPosition: 1 - vSyncCount: 1 + vSyncCount: 0 lodBias: 2 maximumLODLevel: 0 streamingMipmapsActive: 0 @@ -215,6 +220,7 @@ QualitySettings: asyncUploadBufferSize: 16 asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} excludedTargetPlatforms: [] m_PerPlatformDefaultQuality: Android: 2 diff --git a/JamHelper/UserSettings/EditorUserSettings.asset b/JamHelper/UserSettings/EditorUserSettings.asset index d015a0c..aaf4d8f 100644 --- a/JamHelper/UserSettings/EditorUserSettings.asset +++ b/JamHelper/UserSettings/EditorUserSettings.asset @@ -17,6 +17,9 @@ EditorUserSettings: RecentlyUsedScenePath-3: value: 22424703114646710c03382d1f2f4c5f30272b092326322222251136f0d63134ede43ffdfe751b39340da00f073b0f3ae1452f3bc528020a030ffe1a14ed331c1fd10aca16c41a0e850c12c7d904 flags: 0 + RecentlyUsedScenePath-4: + value: 22424703114646710c03382d1f2f4c5f38160e232b2932392227521de3f63d3fe3f33fe6e90e3a2f2d4cfa320d2a18 + flags: 0 vcSharedLogLevel: value: 0d5e400f0650 flags: 0 |