diff options
25 files changed, 436 insertions, 194 deletions
diff --git a/JamHelper/Assets/JamSound.meta b/JamHelper/Assets/JamSound.meta new file mode 100644 index 0000000..9c89a39 --- /dev/null +++ b/JamHelper/Assets/JamSound.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a50ebea070ce99429b477b564b96086 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity b/JamHelper/Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity index dae43c4..c44bd18 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_Mesh70236 + m_Name: pb_Mesh28150 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -1000,7 +1000,7 @@ Transform: m_LocalScale: {x: 5, y: 1, z: 5} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 11 + m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &190189551 GameObject: @@ -1509,7 +1509,7 @@ Transform: - {fileID: 1304633276} - {fileID: 459152570} m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &239987018 GameObject: @@ -1575,7 +1575,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &279687859 GameObject: @@ -1696,7 +1696,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70260 + m_Name: pb_Mesh28166 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -1944,7 +1944,7 @@ Canvas: m_Enabled: 1 serializedVersion: 3 m_RenderMode: 2 - m_Camera: {fileID: 1950957598} + m_Camera: {fileID: 0} m_PlaneDistance: 100 m_PixelPerfect: 0 m_ReceivesEvents: 1 @@ -2110,7 +2110,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70154 + m_Name: pb_Mesh28062 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -2888,6 +2888,102 @@ Transform: m_Father: {fileID: 1861258021} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180} +--- !u!1 &685442957 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 685442960} + - component: {fileID: 685442959} + - component: {fileID: 685442958} + - component: {fileID: 685442961} + 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 &685442958 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685442957} + m_Enabled: 1 +--- !u!20 &685442959 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685442957} + 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: 439 + 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 &685442960 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685442957} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 7.2635603, y: 0.5, z: -0.6} + 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!114 &685442961 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 685442957} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52723e4b1bc8e7a459bca520c75f6e48, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &705507993 GameObject: m_ObjectHideFlags: 0 @@ -2979,7 +3075,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1 &729325353 GameObject: @@ -6221,7 +6317,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &830429033 GameObject: @@ -6944,7 +7040,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh69896 + m_Name: pb_Mesh27806 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7108,7 +7204,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70356 + m_Name: pb_Mesh28264 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7297,7 +7393,7 @@ Transform: - {fileID: 961102767} - {fileID: 1213064841} m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &961102761 GameObject: @@ -7454,7 +7550,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70048 + m_Name: pb_Mesh27956 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7649,7 +7745,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70310 + m_Name: pb_Mesh28220 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7813,7 +7909,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70060 + m_Name: pb_Mesh27976 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -8064,7 +8160,7 @@ RectTransform: m_Children: - {fileID: 1086095811} m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -8305,7 +8401,7 @@ Transform: m_LocalScale: {x: 10, y: 5, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!54 &1124696510 Rigidbody: @@ -8352,7 +8448,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1156133196} serializedVersion: 2 - m_Mass: 1000 + m_Mass: 40 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -8658,7 +8754,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70202 + m_Name: pb_Mesh28114 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -13003,7 +13099,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1537433337 GameObject: @@ -13654,7 +13750,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1621878133} serializedVersion: 2 - m_Mass: 1000 + m_Mass: 40 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -13960,7 +14056,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70026 + m_Name: pb_Mesh27938 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14236,7 +14332,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh69952 + m_Name: pb_Mesh27846 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14400,7 +14496,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh70214 + m_Name: pb_Mesh28126 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14593,7 +14689,7 @@ Transform: - {fileID: 1719779269} - {fileID: 1002245355} m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1839905729 GameObject: @@ -14688,7 +14784,7 @@ Transform: m_LocalScale: {x: 5, y: 5, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 13 + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1861258020 GameObject: @@ -14724,7 +14820,7 @@ Transform: - {fileID: 1537433342} - {fileID: 666827294} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1893547452 GameObject: @@ -15467,11 +15563,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1924073677} m_CullTransparentMesh: 1 ---- !u!20 &1950957598 stripped -Camera: - m_CorrespondingSourceObject: {fileID: 6879717248509490095, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} - m_PrefabInstance: {fileID: 6879717249385526193} - m_PrefabAsset: {fileID: 0} --- !u!1 &1966873324 GameObject: m_ObjectHideFlags: 0 @@ -15613,7 +15704,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2137460919} serializedVersion: 2 - m_Mass: 1000 + m_Mass: 40 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -15926,7 +16017,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6462871305178900895, guid: b338d16f2565167408259c170d8f52b3, type: 3} propertyPath: m_RootOrder - value: 1 + value: 2 objectReference: {fileID: 0} - target: {fileID: 6462871305178900895, guid: b338d16f2565167408259c170d8f52b3, type: 3} propertyPath: m_LocalPosition.x @@ -15978,20 +16069,12 @@ PrefabInstance: m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: 7739210602112578966, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} - propertyPath: m_LookSmooth - value: 0.2 - objectReference: {fileID: 0} - - 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: 1000 - objectReference: {fileID: 0} + propertyPath: m_Camera + value: + objectReference: {fileID: 685442961} - target: {fileID: 7739210602112578984, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} propertyPath: m_RootOrder - value: 12 + value: 13 objectReference: {fileID: 0} - target: {fileID: 7739210602112578984, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} propertyPath: m_LocalPosition.x @@ -16033,10 +16116,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 7739210602112578985, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} - propertyPath: m_Interpolate - value: 0 - objectReference: {fileID: 0} - target: {fileID: 7739210602112578987, guid: 8ec8551d12bf0c649a5ba9d04f879de5, type: 3} propertyPath: m_Name value: Player_Velocity diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Prefabs/Player_Velocity.prefab b/JamHelper/Assets/JamTools/FPSControllerVelocity/Prefabs/Player_Velocity.prefab index 9df88ff..71094c0 100644 --- a/JamHelper/Assets/JamTools/FPSControllerVelocity/Prefabs/Player_Velocity.prefab +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Prefabs/Player_Velocity.prefab @@ -1,88 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &6879717248509490093 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6879717248509490088} - - component: {fileID: 6879717248509490095} - - component: {fileID: 6879717248509490094} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6879717248509490088 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6879717248509490093} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7739210601870697702} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &6879717248509490095 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6879717248509490093} - 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: 439 - 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!81 &6879717248509490094 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6879717248509490093} - m_Enabled: 1 --- !u!1 &6879717248958439983 GameObject: m_ObjectHideFlags: 0 @@ -335,8 +252,8 @@ SphereCollider: m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 2 - m_Radius: 0.41830033 - m_Center: {x: 0, y: 0.33, z: -0.0037634373} + m_Radius: 0.47066826 + m_Center: {x: 0, y: 0.36, z: -0.0060388446} --- !u!1 &7739210601246302678 GameObject: m_ObjectHideFlags: 0 @@ -395,7 +312,6 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 7739210602005167409} - - {fileID: 6879717248509490088} m_Father: {fileID: 7739210602112578984} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -527,7 +443,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7739210602112578987} serializedVersion: 2 - m_Mass: 30 + m_Mass: 40 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -552,15 +468,13 @@ MonoBehaviour: m_Body: {fileID: 6879717248493419552} m_GroundChecker: {fileID: 7739210600721244159} m_WallChecker: {fileID: 6401592115772403490} - m_LookSensitive: 500 + m_Camera: {fileID: 0} + m_LookSensitive: 1000 m_LookSmooth: 0.2 - m_LookSmoothMultiplier: 100 - m_LookSmoothWithTime: 1 m_MoveSpeed: 500 - m_MoveSmooth: 0.1 - m_MoveSmoothMultiplier: 100 - m_MoveSmoothWithTime: 1 + m_MoveSmooth: 0.2 m_MoveSpeedInAir: 500 + m_JumpPower: 300 m_Muzzle: {fileID: 7739210601246302679} m_HittableLayers: serializedVersion: 2 diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs index f995c8e..c51fffc 100644 --- a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/FPSCharacterController.cs @@ -28,6 +28,7 @@ namespace JamTools Step = 1 << 12, // Ų
PullTrick = 1 << 13, //
ExtraGravity = 1 << 14, //
+ Crouch = 1 << 15,
} [SerializeField] private CharacterModule m_Modules; @@ -38,14 +39,14 @@ namespace JamTools [SerializeField] private GroundChecker m_GroundChecker;
[SerializeField] private WallChecker m_WallChecker;
+ [SerializeField] private MainCameraFollow m_Camera;
+
#region Modules
[Header("Look Around")]
[SerializeField] private float m_LookSensitive = 1000f;
[Range(0.01f, 1)]
[SerializeField] private float m_LookSmooth = 0.2f;
- [SerializeField] private float m_LookSmoothMultiplier = 100;
- [SerializeField] private bool m_LookSmoothWithTime = true;
private float m_CameraRotation;
private float m_BodyRotation;
@@ -53,12 +54,17 @@ namespace JamTools [SerializeField] private float m_MoveSpeed = 100f;
[Range(0.01f, 1)]
[SerializeField] private float m_MoveSmooth = 0.2f;
- [SerializeField] private float m_MoveSmoothMultiplier = 100;
- [SerializeField] private bool m_MoveSmoothWithTime = true;
private Vector3 m_MoveDirection;
+ private bool m_ReadyMoveAround = false;
[Header("Move In Air")]
[SerializeField] private float m_MoveSpeedInAir = 50f;
+ [SerializeField] private float m_MoveInAirSmooth = 0.2f;
+ private Vector3 m_MoveInAirDirection;
+
+ [Header("Jump")]
+ [SerializeField] private float m_JumpPower = 300f;
+ private bool m_ReadyToJump = false;
[Header("Shot")]
[SerializeField] private Transform m_Muzzle;
@@ -68,7 +74,10 @@ namespace JamTools [Header("WallJump")]
[SerializeField] private float m_WallJumpForce = 1;
[SerializeField] private float m_WallJumpPower = 1000;
+ private bool m_ReadyWallJump = false;
+ [Header("WallRun")]
+ [SerializeField] private float m_WallRunSpeed = 1;
[Header("ExtraGravity")]
[SerializeField] private Vector3 m_ExtraGravity;
@@ -119,16 +128,14 @@ namespace JamTools float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
- float t = m_LookSmoothWithTime ? Time.deltaTime : 1;
-
m_CameraRotation -= mouseY * Time.deltaTime * m_LookSensitive;
m_CameraRotation = Mathf.Clamp(m_CameraRotation, -90, 90);
Quaternion rot = Quaternion.Euler(m_CameraRotation, 0, 0);
- m_Eye.localRotation = Quaternion.Slerp(m_Eye.localRotation, rot, m_LookSmooth * t * m_LookSmoothMultiplier);
+ m_Eye.localRotation = Quaternion.Slerp(m_Eye.localRotation, rot, m_LookSmooth );
m_BodyRotation += mouseX * Time.deltaTime * m_LookSensitive;
rot = Quaternion.Euler(0, m_BodyRotation, 0);
- transform.localRotation = Quaternion.Slerp(transform.localRotation, rot, m_LookSmooth * t * m_LookSmoothMultiplier);
+ transform.localRotation = Quaternion.Slerp(transform.localRotation, rot, m_LookSmooth);
}
void MoveAroundUpdate()
@@ -139,31 +146,33 @@ namespace JamTools if (!m_GroundChecker.isOnGround)
return;
- float moveX = Input.GetAxis("Horizontal");
- float moveZ = Input.GetAxis("Vertical"); + float moveX = Input.GetAxisRaw("Horizontal");
+ float moveZ = Input.GetAxisRaw("Vertical"); Vector3 right = transform.right;
Vector3 forward = transform.forward;
m_MoveDirection = right * moveX + forward * moveZ;
- //if (IsModuleActive(CharacterModule.WalkOnSlope))
- //{
- // if (m_GroundChecker.isOnGround)
- // {
- // RaycastHit hitInfo;
- // if (Physics.Raycast(m_GroundChecker.foot.position, Vector3.down, out hitInfo))
- // {
- // Vector3 normal = hitInfo.normal;
- // m_MoveDirection = Vector3.ProjectOnPlane(m_MoveDirection, normal);
- // GizmosHandle.Instance.DoGizmos(() => {
- // Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + m_MoveDirection);
- // });
- // }
- // }
- //}
+ if (IsModuleActive(CharacterModule.WalkOnSlope))
+ {
+ if (m_GroundChecker.isOnGround)
+ {
+ RaycastHit hitInfo;
+ if (Physics.Raycast(m_GroundChecker.foot.position, Vector3.down, out hitInfo))
+ {
+ Vector3 normal = hitInfo.normal;
+ m_MoveDirection = Vector3.ProjectOnPlane(m_MoveDirection, normal);
+ GizmosHandle.Instance.DoGizmos(() =>
+ {
+ Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + m_MoveDirection);
+ });
+ }
+ }
+ }
m_MoveDirection = m_MoveDirection.normalized;
+
}
void MoveAroundFixedUpdate()
@@ -177,9 +186,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);
- float t = m_MoveSmoothWithTime ? Time.deltaTime : 1;
- m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveSmooth * t * m_MoveSmoothMultiplier);
- //m_Rigidbody.AddForce(velocity * m_MoveSmoothMultiplier, ForceMode.VelocityChange);
+ m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveSmooth);
}
void MoveInAirUpdate()
@@ -190,10 +197,10 @@ namespace JamTools if (m_GroundChecker.isOnGround)
return;
- float moveX = Input.GetAxis("Horizontal");
- float moveZ = Input.GetAxis("Vertical"); + float moveX = Input.GetAxisRaw("Horizontal");
+ float moveZ = Input.GetAxisRaw("Vertical");
- m_MoveDirection = Vector3.ClampMagnitude(transform.right * moveX + transform.forward * moveZ, 1);
+ m_MoveInAirDirection = Vector3.ClampMagnitude(transform.right * moveX + transform.forward * moveZ, 1);
}
void MoveInAirFixedUpdate()
@@ -204,13 +211,13 @@ namespace JamTools if (m_GroundChecker.isOnGround)
return;
- if (m_MoveDirection.magnitude == 0)
+ if (m_MoveInAirDirection.magnitude == 0f)
return;
float vy = m_Rigidbody.velocity.y;
- Vector3 velocity = new Vector3(m_MoveDirection.x * Time.deltaTime * m_MoveSpeedInAir, vy, m_MoveDirection.z * Time.deltaTime * m_MoveSpeedInAir);
+ Vector3 velocity = new Vector3(m_MoveInAirDirection.x * Time.deltaTime * m_MoveSpeedInAir, vy, m_MoveInAirDirection.z * Time.deltaTime * m_MoveSpeedInAir);
- m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, 0.1f);
+ m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveInAirSmooth);
}
void Jump()
@@ -223,7 +230,16 @@ namespace JamTools if (Input.GetButtonDown("Jump"))
{
- m_Rigidbody.AddForce(Vector3.up * 300, ForceMode.Acceleration);
+ m_ReadyToJump = true;
+ }
+ }
+
+ void JumpFixedUpdate()
+ {
+ if(m_ReadyToJump)
+ {
+ m_ReadyToJump = false;
+ m_Rigidbody.AddForce(Vector3.up * m_JumpPower, ForceMode.Acceleration);
}
}
@@ -234,10 +250,15 @@ namespace JamTools if (Input.GetKeyDown(KeyCode.LeftShift))
{
- m_Rigidbody.AddForce(transform.forward * 5000, ForceMode.Acceleration);
+
}
}
+ void DodgeFixed()
+ {
+
+ }
+
void Shot()
{
if (!IsModuleActive(CharacterModule.Shot))
@@ -284,17 +305,26 @@ namespace JamTools if (Input.GetButtonDown("Jump"))
{
- Vector3 poc;
- if (m_WallChecker.GetCollisionPoint(out poc))
- {
- Vector3 dir = Vector3.ClampMagnitude(transform.position - poc, 1f);
- Vector3 wallJumpDirection = new Vector3(dir.x, 1, dir.z);
- m_Rigidbody.velocity = Vector3.zero;
- m_Rigidbody.AddForce(wallJumpDirection * m_WallJumpPower);
- }
+ m_ReadyWallJump = true;
}
}
+ void WallJumpFixedUpdate()
+ {
+ if(m_ReadyWallJump)
+ {
+ m_ReadyWallJump = false;
+ Vector3 poc;
+ if (m_WallChecker.GetCollisionPoint(out poc))
+ {
+ Vector3 dir = Vector3.ClampMagnitude(transform.position - poc, 1f);
+ Vector3 wallJumpDirection = new Vector3(dir.x, 1, dir.z);
+ m_Rigidbody.velocity = Vector3.zero;
+ m_Rigidbody.AddForce(wallJumpDirection * m_WallJumpPower);
+ }
+ }
+ }
+
void WallRun()
{
if (!IsModuleActive(CharacterModule.WallRun))
@@ -318,6 +348,11 @@ namespace JamTools m_Rigidbody.AddForce(m_ExtraGravity, ForceMode.Acceleration);
}
+ void SetCamera ()
+ {
+ m_Camera.SetCameraPositionAndRotation(m_Eye);
+ }
+
private void Awake()
{
m_Rigidbody = GetComponent<Rigidbody>();
@@ -340,13 +375,18 @@ namespace JamTools Shot();
WallJump();
PullTrick();
+
+ SetCamera();
}
private void FixedUpdate()
{
MoveAroundFixedUpdate();
MoveInAirFixedUpdate();
+ DodgeFixed();
ExtraGravity();
+ JumpFixedUpdate();
+ WallJumpFixedUpdate();
}
private void OnDrawGizmos()
diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/GroundChecker.cs b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/GroundChecker.cs index 6fa3a60..a0bd4eb 100644 --- a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/GroundChecker.cs +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/GroundChecker.cs @@ -9,6 +9,8 @@ namespace JamTools {
[SerializeField] private Transform m_Foot;
+ private List<Collider> m_Colliders = new List<Collider>();
+
public Transform foot
{
get
@@ -17,29 +19,28 @@ namespace JamTools }
}
- private bool m_IsOnGround;
public bool isOnGround
{
get
{
- return m_IsOnGround;
+ return m_Colliders.Count != 0;
}
}
private void OnTriggerEnter(Collider other)
{
- m_IsOnGround = true;
+ if (!m_Colliders.Contains(other))
+ m_Colliders.Add(other);
}
private void OnTriggerExit(Collider other)
{
- m_IsOnGround = false;
+ if (m_Colliders.Contains(other))
+ m_Colliders.Remove(other);
}
private void OnTriggerStay(Collider other)
{
- m_IsOnGround = true;
-
}
}
diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/MainCameraFollow.cs b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/MainCameraFollow.cs new file mode 100644 index 0000000..87d1fe5 --- /dev/null +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/MainCameraFollow.cs @@ -0,0 +1,20 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace JamTools
+{
+
+ [RequireComponent(typeof(Camera))]
+ public class MainCameraFollow : MonoBehaviour
+ {
+
+ public void SetCameraPositionAndRotation(Transform reference)
+ {
+ transform.position = reference.position;
+ transform.rotation = reference.rotation;
+ }
+
+ }
+
+}
\ No newline at end of file diff --git a/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta new file mode 100644 index 0000000..890d789 --- /dev/null +++ b/JamHelper/Assets/JamTools/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 52723e4b1bc8e7a459bca520c75f6e48 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Input.meta b/JamHelper/Assets/JamTools/Scripts/Input.meta new file mode 100644 index 0000000..0f2e279 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Input.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a89ccbe837e61954eb8db6fd8d8cc6fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager.meta b/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager.meta new file mode 100644 index 0000000..478a2fb --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b109ec0d332e7d542933c14195555fc5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager/LiteInputManager.cs b/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager/LiteInputManager.cs new file mode 100644 index 0000000..b1b41ad --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager/LiteInputManager.cs @@ -0,0 +1,19 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace JamTools
+{
+
+ public class LiteInputManager : MonoBehaviour
+ {
+
+
+ private void Update()
+ {
+
+ }
+
+ }
+
+}
diff --git a/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager/LiteInputManager.cs.meta b/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager/LiteInputManager.cs.meta new file mode 100644 index 0000000..ea233ec --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Input/LiteInputManager/LiteInputManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 43d60c2791534e944a76fe9bd04611c7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Math/Vector2Utils.cs b/JamHelper/Assets/JamTools/Scripts/Math/Vector2Utils.cs new file mode 100644 index 0000000..ad23394 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Math/Vector2Utils.cs @@ -0,0 +1,18 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Vector2Utils : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/JamHelper/Assets/JamTools/Scripts/Math/Vector2Utils.cs.meta b/JamHelper/Assets/JamTools/Scripts/Math/Vector2Utils.cs.meta new file mode 100644 index 0000000..baaaadc --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Math/Vector2Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b942375dd102510458322e9b4fed90a6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Math/Vector3Utils.cs b/JamHelper/Assets/JamTools/Scripts/Math/Vector3Utils.cs new file mode 100644 index 0000000..11acfe7 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Math/Vector3Utils.cs @@ -0,0 +1,18 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Vector3Utils : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/JamHelper/Assets/JamTools/Scripts/Math/Vector3Utils.cs.meta b/JamHelper/Assets/JamTools/Scripts/Math/Vector3Utils.cs.meta new file mode 100644 index 0000000..d0d6741 --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Math/Vector3Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8720e69e758fe914d8fd09cda9ac1dfa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Scripts/Network.meta b/JamHelper/Assets/JamTools/Scripts/Network.meta new file mode 100644 index 0000000..5d70b8f --- /dev/null +++ b/JamHelper/Assets/JamTools/Scripts/Network.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fbccedc936aea7342b072fc73ccbc9eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Smoothing.meta b/JamHelper/Assets/JamTools/Smoothing.meta new file mode 100644 index 0000000..f7fa1ed --- /dev/null +++ b/JamHelper/Assets/JamTools/Smoothing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 96f1adbd9d3273a40aad221c24aa763b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Smoothing/README.txt b/JamHelper/Assets/JamTools/Smoothing/README.txt new file mode 100644 index 0000000..76a1c59 --- /dev/null +++ b/JamHelper/Assets/JamTools/Smoothing/README.txt @@ -0,0 +1 @@ +平滑是提升表现力的常用手段,避免突变(snap)导致的糟糕体验
\ No newline at end of file diff --git a/JamHelper/Assets/JamTools/Smoothing/README.txt.meta b/JamHelper/Assets/JamTools/Smoothing/README.txt.meta new file mode 100644 index 0000000..ef1aa65 --- /dev/null +++ b/JamHelper/Assets/JamTools/Smoothing/README.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 222f97e27b4d9064490d2ffa8da4aa61 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Smoothing/Scripts.meta b/JamHelper/Assets/JamTools/Smoothing/Scripts.meta new file mode 100644 index 0000000..136cbc7 --- /dev/null +++ b/JamHelper/Assets/JamTools/Smoothing/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 523910ec9c7c05b4aabb3eb309cb7230 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamTools/Smoothing/Scripts/SmoothUtil.cs b/JamHelper/Assets/JamTools/Smoothing/Scripts/SmoothUtil.cs new file mode 100644 index 0000000..606ff60 --- /dev/null +++ b/JamHelper/Assets/JamTools/Smoothing/Scripts/SmoothUtil.cs @@ -0,0 +1,12 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace JamTools
+{
+
+ public class SmoothUtil
+ {
+
+ }
+}
diff --git a/JamHelper/Assets/JamTools/Smoothing/Scripts/SmoothUtil.cs.meta b/JamHelper/Assets/JamTools/Smoothing/Scripts/SmoothUtil.cs.meta new file mode 100644 index 0000000..518b5ff --- /dev/null +++ b/JamHelper/Assets/JamTools/Smoothing/Scripts/SmoothUtil.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 02c9d074c9b97f54fa5eb70594f622b6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Packages/manifest.json b/JamHelper/Packages/manifest.json index 699c594..ad6a588 100644 --- a/JamHelper/Packages/manifest.json +++ b/JamHelper/Packages/manifest.json @@ -4,6 +4,7 @@ "com.unity.ide.rider": "2.0.7", "com.unity.ide.visualstudio": "2.0.12", "com.unity.ide.vscode": "1.2.4", + "com.unity.inputsystem": "1.2.0", "com.unity.polybrush": "1.0.2", "com.unity.probuilder": "4.5.2", "com.unity.test-framework": "1.1.29", diff --git a/JamHelper/Packages/packages-lock.json b/JamHelper/Packages/packages-lock.json index 06cd4ff..ec9b27f 100644 --- a/JamHelper/Packages/packages-lock.json +++ b/JamHelper/Packages/packages-lock.json @@ -42,6 +42,15 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.inputsystem": { + "version": "1.2.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.nuget.newtonsoft-json": { "version": "2.0.0", "depth": 1, @@ -1 +1 @@ -Small toolset for game jam.
\ No newline at end of file +Toolset for game jam.
\ No newline at end of file |