From 2ac3ab0c6a315e678d21aa6bd4a0a660a2c46acf Mon Sep 17 00:00:00 2001
From: chai <chaifix@163.com>
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 -------
 .../ProjectSettings/EditorBuildSettings.asset      |  2 +-
 9 files changed, 46 insertions(+), 61 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

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: 
diff --git a/JamHelper/ProjectSettings/EditorBuildSettings.asset b/JamHelper/ProjectSettings/EditorBuildSettings.asset
index 8c1b4db..a1eff7b 100644
--- a/JamHelper/ProjectSettings/EditorBuildSettings.asset
+++ b/JamHelper/ProjectSettings/EditorBuildSettings.asset
@@ -6,6 +6,6 @@ EditorBuildSettings:
   serializedVersion: 2
   m_Scenes:
   - enabled: 1
-    path: Assets/JamTools/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity
+    path: Assets/JamUtils/FPSControllerVelocity/Demo/Scenes/FPSCharacterController.unity
     guid: 9fc0d4010bbf28b4594072e72b8655ab
   m_configObjects: {}
-- 
cgit v1.1-26-g67d0