diff options
author | chai <chaifix@163.com> | 2021-01-27 16:15:06 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-01-27 16:15:06 +0800 |
commit | 97da432c35b8c7aaf9dd2c39e2aa4b1f55f36065 (patch) | |
tree | d9b1db5908a3a030c529e230386fe01062923b09 /Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion | |
parent | 1fe4ffba72f56ccc6a89d1896142425c666887d4 (diff) |
+behaviour designer
Diffstat (limited to 'Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion')
22 files changed, 404 insertions, 0 deletions
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Angle.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Angle.cs new file mode 100644 index 00000000..a6e485ef --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Angle.cs @@ -0,0 +1,29 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the angle in degrees between two rotations.")]
+ public class Angle : Action
+ {
+ [Tooltip("The first rotation")]
+ public SharedQuaternion firstRotation;
+ [Tooltip("The second rotation")]
+ public SharedQuaternion secondRotation;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedFloat storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.Angle(firstRotation.Value, secondRotation.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ firstRotation = secondRotation = Quaternion.identity;
+ storeResult = 0;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Angle.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Angle.cs.meta new file mode 100644 index 00000000..0aa20992 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Angle.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: 0d316a25dcddd6f4a981df05a1eeaf7c
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/AngleAxis.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/AngleAxis.cs new file mode 100644 index 00000000..4c6eecf9 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/AngleAxis.cs @@ -0,0 +1,30 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the rotation which rotates the specified degrees around the specified axis.")]
+ public class AngleAxis : Action
+ {
+ [Tooltip("The number of degrees")]
+ public SharedFloat degrees;
+ [Tooltip("The axis direction")]
+ public SharedVector3 axis;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.AngleAxis(degrees.Value, axis.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ degrees = 0;
+ axis = Vector3.zero;
+ storeResult = Quaternion.identity;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/AngleAxis.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/AngleAxis.cs.meta new file mode 100644 index 00000000..99c4ba7b --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/AngleAxis.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: 82152b844829f8f43ab44f35bf7d786f
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Dot.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Dot.cs new file mode 100644 index 00000000..d00fa95b --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Dot.cs @@ -0,0 +1,29 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the dot product between two rotations.")]
+ public class Dot : Action
+ {
+ [Tooltip("The first rotation")]
+ public SharedQuaternion leftRotation;
+ [Tooltip("The second rotation")]
+ public SharedQuaternion rightRotation;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedFloat storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.Dot(leftRotation.Value, rightRotation.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ leftRotation = rightRotation = Quaternion.identity;
+ storeResult = 0;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Dot.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Dot.cs.meta new file mode 100644 index 00000000..40a00107 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Dot.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: fa9235523569d574aa7d22ce89423eca
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Euler.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Euler.cs new file mode 100644 index 00000000..e9930832 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Euler.cs @@ -0,0 +1,27 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the quaternion of a euler vector.")]
+ public class Euler : Action
+ {
+ [Tooltip("The euler vector")]
+ public SharedVector3 eulerVector;
+ [Tooltip("The stored quaternion")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.Euler(eulerVector.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ eulerVector = Vector3.zero;
+ storeResult = Quaternion.identity;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Euler.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Euler.cs.meta new file mode 100644 index 00000000..048cc76c --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Euler.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: b4d275b4450a324409ace385a718d9ee
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/FromToRotation.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/FromToRotation.cs new file mode 100644 index 00000000..5e68b434 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/FromToRotation.cs @@ -0,0 +1,29 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores a rotation which rotates from the first direction to the second.")]
+ public class FromToRotation : Action
+ {
+ [Tooltip("The from rotation")]
+ public SharedVector3 fromDirection;
+ [Tooltip("The to rotation")]
+ public SharedVector3 toDirection;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.FromToRotation(fromDirection.Value, toDirection.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ fromDirection = toDirection = Vector3.zero;
+ storeResult = Quaternion.identity;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/FromToRotation.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/FromToRotation.cs.meta new file mode 100644 index 00000000..d5836cfa --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/FromToRotation.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: 56740b2c218d500408dd75c6c15006ec
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Identity.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Identity.cs new file mode 100644 index 00000000..5c8c104a --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Identity.cs @@ -0,0 +1,24 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the quaternion identity.")]
+ public class Identity : Action
+ {
+ [Tooltip("The identity")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.identity;
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ storeResult = Quaternion.identity;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Identity.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Identity.cs.meta new file mode 100644 index 00000000..e8968d73 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Identity.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: f4eefb6e25898904688a422ca79d763c
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Inverse.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Inverse.cs new file mode 100644 index 00000000..e0085ded --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Inverse.cs @@ -0,0 +1,26 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the inverse of the specified quaternion.")]
+ public class Inverse : Action
+ {
+ [Tooltip("The target quaternion")]
+ public SharedQuaternion targetQuaternion;
+ [Tooltip("The stored quaternion")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.Inverse(targetQuaternion.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ targetQuaternion = storeResult = Quaternion.identity;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Inverse.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Inverse.cs.meta new file mode 100644 index 00000000..e255f8bf --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Inverse.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: ab8f5048bc0e5ce409bf3408c60bc3eb
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Lerp.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Lerp.cs new file mode 100644 index 00000000..faea9019 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Lerp.cs @@ -0,0 +1,31 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Lerps between two quaternions.")]
+ public class Lerp : Action
+ {
+ [Tooltip("The from rotation")]
+ public SharedQuaternion fromQuaternion;
+ [Tooltip("The to rotation")]
+ public SharedQuaternion toQuaternion;
+ [Tooltip("The amount to lerp")]
+ public SharedFloat amount;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.Lerp(fromQuaternion.Value, toQuaternion.Value, amount.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ fromQuaternion = toQuaternion = storeResult = Quaternion.identity;
+ amount = 0;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Lerp.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Lerp.cs.meta new file mode 100644 index 00000000..4711a2b8 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Lerp.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: fb19d83a245337542a5c0f02593e8dab
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/LookRotation.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/LookRotation.cs new file mode 100644 index 00000000..8e8bf5ab --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/LookRotation.cs @@ -0,0 +1,29 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the quaternion of a forward vector.")]
+ public class LookRotation : Action
+ {
+ [Tooltip("The forward vector")]
+ public SharedVector3 forwardVector;
+ [Tooltip("The second Vector3")]
+ public SharedVector3 secondVector3;
+ [Tooltip("The stored quaternion")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.LookRotation(forwardVector.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ forwardVector = Vector3.zero;
+ storeResult = Quaternion.identity;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/LookRotation.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/LookRotation.cs.meta new file mode 100644 index 00000000..b58cb08b --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/LookRotation.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: e006fb91f87854448b9bd6cb1d20b2f1
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/RotateTowards.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/RotateTowards.cs new file mode 100644 index 00000000..77975891 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/RotateTowards.cs @@ -0,0 +1,31 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Stores the quaternion after a rotation.")]
+ public class RotateTowards : Action
+ {
+ [Tooltip("The from rotation")]
+ public SharedQuaternion fromQuaternion;
+ [Tooltip("The to rotation")]
+ public SharedQuaternion toQuaternion;
+ [Tooltip("The maximum degrees delta")]
+ public SharedFloat maxDeltaDegrees;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.RotateTowards(fromQuaternion.Value, toQuaternion.Value, maxDeltaDegrees.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ fromQuaternion = toQuaternion = storeResult = Quaternion.identity;
+ maxDeltaDegrees = 0;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/RotateTowards.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/RotateTowards.cs.meta new file mode 100644 index 00000000..4a037c77 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/RotateTowards.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: b5e043a106ab4784aab997fa0e27f972
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Slerp.cs b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Slerp.cs new file mode 100644 index 00000000..88cac7e6 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Slerp.cs @@ -0,0 +1,31 @@ +using UnityEngine;
+
+namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityQuaternion
+{
+ [TaskCategory("Basic/Quaternion")]
+ [TaskDescription("Spherically lerp between two quaternions.")]
+ public class Slerp : Action
+ {
+ [Tooltip("The from rotation")]
+ public SharedQuaternion fromQuaternion;
+ [Tooltip("The to rotation")]
+ public SharedQuaternion toQuaternion;
+ [Tooltip("The amount to lerp")]
+ public SharedFloat amount;
+ [Tooltip("The stored result")]
+ [RequiredField]
+ public SharedQuaternion storeResult;
+
+ public override TaskStatus OnUpdate()
+ {
+ storeResult.Value = Quaternion.Slerp(fromQuaternion.Value, toQuaternion.Value, amount.Value);
+ return TaskStatus.Success;
+ }
+
+ public override void OnReset()
+ {
+ fromQuaternion = toQuaternion = storeResult = Quaternion.identity;
+ amount = 0;
+ }
+ }
+}
\ No newline at end of file diff --git a/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Slerp.cs.meta b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Slerp.cs.meta new file mode 100644 index 00000000..6e1d7577 --- /dev/null +++ b/Client/Assets/Behavior Designer/Runtime/Basic Tasks/Quaternion/Slerp.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: b36eacb0f1a46624193a622ef50979ff
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
|