aboutsummaryrefslogtreecommitdiff
path: root/JamHelper/Assets/JamUtils/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'JamHelper/Assets/JamUtils/Scripts')
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Smooth-Motion-in-Unity/InterpolationObjectController.cs37
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs35
-rw-r--r--JamHelper/Assets/JamUtils/Scripts/Utils/Editor/MeshRendererEditor.cs.meta11
3 files changed, 28 insertions, 55 deletions
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: