From 2ac3ab0c6a315e678d21aa6bd4a0a660a2c46acf Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 18 Feb 2022 15:15:07 +0800 Subject: *misc --- JamHelper/Assets/JamUtils.meta | 8 +++++ .../Assets/JamUtils/FPSControllerForce/README~ | 1 + .../Demo/Scenes/FPSCharacterController.unity | 1 + .../Assets/JamUtils/FPSControllerVelocity/README~ | 1 + .../Scripts/FPSCharacterController.cs | 11 ++++--- .../InterpolationObjectController.cs | 37 ++++++++++++++++------ .../Scripts/Utils/Editor/MeshRendererEditor.cs | 35 -------------------- .../Utils/Editor/MeshRendererEditor.cs.meta | 11 ------- 8 files changed, 45 insertions(+), 60 deletions(-) create mode 100644 JamHelper/Assets/JamUtils.meta create mode 100644 JamHelper/Assets/JamUtils/FPSControllerForce/README~ create mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/README~ delete mode 100644 JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs delete mode 100644 JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs.meta (limited to 'JamHelper/Assets') diff --git a/JamHelper/Assets/JamUtils.meta b/JamHelper/Assets/JamUtils.meta new file mode 100644 index 0000000..62ab3d9 --- /dev/null +++ b/JamHelper/Assets/JamUtils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e967898b2f8d555458c4aac3b8288b4a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerForce/README~ b/JamHelper/Assets/JamUtils/FPSControllerForce/README~ new file mode 100644 index 0000000..d88bda8 --- /dev/null +++ b/JamHelper/Assets/JamUtils/FPSControllerForce/README~ @@ -0,0 +1 @@ +用rigidbody.addforce控制角色移动 \ No newline at end of file diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity index 139d3fa..c8da4c6 100644 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity +++ b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity @@ -924,6 +924,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 60e373202cc879c4a8e781f92dbdcb48, type: 3} m_Name: m_EditorClassIdentifier: + type: 5 --- !u!114 &148244783 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/README~ b/JamHelper/Assets/JamUtils/FPSControllerVelocity/README~ new file mode 100644 index 0000000..c240298 --- /dev/null +++ b/JamHelper/Assets/JamUtils/FPSControllerVelocity/README~ @@ -0,0 +1 @@ +用rigidbody.velocity移动角色 \ No newline at end of file diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs index a6d844f..3884a26 100644 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs +++ b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs @@ -155,7 +155,7 @@ namespace JamTools Vector3 right = transform.right; Vector3 forward = transform.forward; - m_MoveDirection = right * moveX + forward * moveZ; + Vector3 dir = right * moveX + forward * moveZ; if (IsModuleActive(CharacterModule.WalkOnSlope)) { @@ -165,17 +165,18 @@ namespace JamTools if (Physics.Raycast(m_GroundChecker.foot.position, Vector3.down, out hitInfo)) { Vector3 normal = hitInfo.normal; - m_MoveDirection = Vector3.ProjectOnPlane(m_MoveDirection, normal); + dir = Vector3.ProjectOnPlane(dir, normal); GizmosHandle.Instance.DoGizmos(() => { - Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + m_MoveDirection); + Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + dir); }); } } } - m_MoveDirection = m_MoveDirection.normalized; + dir = dir.normalized; + m_MoveDirection = Vector3.Slerp(m_MoveDirection, dir, 1f); } void MoveAroundFixedUpdate() @@ -370,6 +371,7 @@ namespace JamTools private void Update() { + LookAround(); MoveAroundUpdate(); MoveInAirUpdate(); Jump(); @@ -383,7 +385,6 @@ namespace JamTools private void FixedUpdate() { - LookAround(); MoveAroundFixedUpdate(); MoveInAirFixedUpdate(); DodgeFixed(); diff --git a/JamHelper/Assets/JamUtils/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs b/JamHelper/Assets/JamUtils/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs index 9a83fe0..3b6c0de 100644 --- a/JamHelper/Assets/JamUtils/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs +++ b/JamHelper/Assets/JamUtils/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs @@ -1,11 +1,23 @@ +using System; using System.Collections; using UnityEngine; [DisallowMultipleComponent] [DefaultExecutionOrder(ORDER_EXECUTION)] public class InterpolationObjectController : MonoBehaviour -{ - public const int ORDER_EXECUTION = InterpolationFactorController.ORDER_EXECUTION - 1; +{ + [Flags] + public enum InterpolateType + { + None, + Position = 1, + Rotation = 1 << 1, + Scale = 1 << 2, + } + + public InterpolateType type; + + private const int ORDER_EXECUTION = InterpolationFactorController.ORDER_EXECUTION - 1; private TransformData[] _transforms; private int _index; @@ -44,9 +56,13 @@ public class InterpolationObjectController : MonoBehaviour private void RestoreActualTransform() { var latest = _transforms[_index]; - transform.localPosition = latest.position; - transform.localScale = latest.scale; - transform.localRotation = latest.rotation; + + if((type & InterpolateType.Position) != 0) + transform.localPosition = latest.position; + if ((type & InterpolateType.Scale) != 0) + transform.localScale = latest.scale; + if ((type & InterpolateType.Rotation) != 0) + transform.localRotation = latest.rotation; } private void SaveActualTransform() @@ -58,10 +74,13 @@ public class InterpolationObjectController : MonoBehaviour 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); + float factor = InterpolationFactorController.Factor; + if ((type & InterpolateType.Position) != 0) + transform.localPosition = Vector3.Lerp(prev.position, transform.localPosition, factor); + if ((type & InterpolateType.Rotation) != 0) + transform.localRotation = Quaternion.Slerp(prev.rotation, transform.localRotation, factor); + if ((type & InterpolateType.Scale) != 0) + transform.localScale = Vector3.Lerp(prev.scale, transform.localScale, factor); } public void ResetTransforms() diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs b/JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs deleted file mode 100644 index 139072a..0000000 --- a/JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs +++ /dev/null @@ -1,35 +0,0 @@ -using UnityEngine; -using UnityEditor; - -[CustomEditor(typeof(MeshRenderer))] -public class MeshRendererEditor : Editor -{ - MeshRenderer meshRenderer; - public override void OnInspectorGUI() - { - base.OnInspectorGUI(); - meshRenderer = target as MeshRenderer; - - string[] layerNames = new string[SortingLayer.layers.Length]; - for (int i = 0; i < SortingLayer.layers.Length; i++) - layerNames[i] = SortingLayer.layers[i].name; - - int layerValue = SortingLayer.GetLayerValueFromName(meshRenderer.sortingLayerName); - layerValue = EditorGUILayout.Popup("Sorting Layer", layerValue, layerNames); - - GUI.changed = false; - - SortingLayer layer = SortingLayer.layers[layerValue]; - meshRenderer.sortingLayerName = layer.name; - meshRenderer.sortingLayerID = layer.id; - meshRenderer.sortingOrder = EditorGUILayout.IntField("Order in Layer", meshRenderer.sortingOrder); - - if (GUI.changed) - { - EditorUtility.SetDirty(meshRenderer); - AssetDatabase.SaveAssets(); - AssetDatabase.Refresh(); - } - - } -} \ No newline at end of file diff --git a/JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs.meta b/JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs.meta deleted file mode 100644 index 76fc308..0000000 --- a/JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 80862adc8955f0c4b8edde2e46cda527 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -- cgit v1.1-26-g67d0