summaryrefslogtreecommitdiff
path: root/Runtime/Animation/ScriptBindings/Avatar.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/Animation/ScriptBindings/Avatar.txt')
-rw-r--r--Runtime/Animation/ScriptBindings/Avatar.txt340
1 files changed, 340 insertions, 0 deletions
diff --git a/Runtime/Animation/ScriptBindings/Avatar.txt b/Runtime/Animation/ScriptBindings/Avatar.txt
new file mode 100644
index 0000000..52b0e93
--- /dev/null
+++ b/Runtime/Animation/ScriptBindings/Avatar.txt
@@ -0,0 +1,340 @@
+C++RAW
+
+#include "UnityPrefix.h"
+#include "Runtime/Mono/MonoBehaviour.h"
+#include "Runtime/Mono/MonoScript.h"
+#include "Runtime/Graphics/Transform.h"
+#include "Runtime/Animation/Avatar.h"
+#include "Runtime/mecanim/human/human.h"
+
+using namespace Unity;
+
+CSRAW
+
+using System;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Collections;
+
+namespace UnityEngine
+{
+
+ENUM internal BodyDoF
+
+ SpineFrontBack = 0,
+ SpineLeftRight,
+ SpineRollLeftRight,
+ ChestFrontBack,
+ ChestLeftRight,
+ ChestRollLeftRight,
+ LastBodyDoF
+END
+
+ENUM internal HeadDoF
+ NeckFrontBack = 0,
+ NeckLeftRight,
+ NeckRollLeftRight,
+ HeadFrontBack,
+ HeadLeftRight,
+ HeadRollLeftRight,
+ LeftEyeDownUp,
+ LeftEyeInOut,
+ RightEyeDownUp,
+ RightEyeInOut,
+ JawDownUp,
+ JawLeftRight,
+ LastHeadDoF
+END
+
+ENUM internal LegDoF
+ UpperLegFrontBack = 0,
+ UpperLegInOut,
+ UpperLegRollInOut,
+ LegCloseOpen,
+ LegRollInOut,
+ FootCloseOpen,
+ FootInOut,
+ ToesUpDown,
+ LastLegDoF
+END
+
+ENUM internal ArmDoF
+ ShoulderDownUp = 0,
+ ShoulderFrontBack,
+ ArmDownUp,
+ ArmFrontBack,
+ ArmRollInOut,
+ ForeArmCloseOpen,
+ ForeArmRollInOut,
+ HandDownUp,
+ HandInOut,
+ LastArmDoF
+END
+
+ENUM internal FingerDoF
+ ProximalDownUp = 0,
+ ProximalInOut,
+ IntermediateCloseOpen,
+ DistalCloseOpen,
+ LastFingerDoF
+END
+
+ENUM internal DoF
+ BodyDoFStart = 0,
+ HeadDoFStart = (int)BodyDoFStart + (int)BodyDoF.LastBodyDoF,
+ LeftLegDoFStart = (int)HeadDoFStart + (int)HeadDoF.LastHeadDoF,
+ RightLegDoFStart = (int)LeftLegDoFStart + (int)LegDoF.LastLegDoF,
+ LeftArmDoFStart = (int)RightLegDoFStart + (int)LegDoF.LastLegDoF,
+ RightArmDoFStart = (int)LeftArmDoFStart + (int)ArmDoF.LastArmDoF,
+
+ LeftThumbDoFStart = (int)RightArmDoFStart + (int)ArmDoF.LastArmDoF,
+ LeftIndexDoFStart = (int)LeftThumbDoFStart + (int)FingerDoF.LastFingerDoF,
+ LeftMiddleDoFStart = (int)LeftIndexDoFStart + (int)FingerDoF.LastFingerDoF,
+
+ LeftRingDoFStart = (int)LeftMiddleDoFStart + (int)FingerDoF.LastFingerDoF,
+ LeftLittleDoFStart = (int)LeftRingDoFStart + (int)FingerDoF.LastFingerDoF,
+
+ RightThumbDoFStart = (int)LeftLittleDoFStart + (int)FingerDoF.LastFingerDoF,
+ RightIndexDoFStart = (int)RightThumbDoFStart + (int)FingerDoF.LastFingerDoF,
+ RightMiddleDoFStart = (int)RightIndexDoFStart + (int)FingerDoF.LastFingerDoF,
+ RightRingDoFStart = (int)RightMiddleDoFStart + (int)FingerDoF.LastFingerDoF,
+ RightLittleDoFStart = (int)RightRingDoFStart + (int)FingerDoF.LastFingerDoF,
+
+ LastDoF = (int)RightLittleDoFStart + (int)FingerDoF.LastFingerDoF
+END
+
+// Human Body Bones
+ENUM HumanBodyBones
+ // This is the Hips bone
+ Hips = 0,
+
+ // This is the Left Upper Leg bone
+ LeftUpperLeg = 1,
+
+ // This is the Right Upper Leg bone
+ RightUpperLeg = 2,
+
+ // This is the Left Knee bone
+ LeftLowerLeg = 3,
+
+ // This is the Right Knee bone
+ RightLowerLeg = 4,
+
+ // This is the Left Ankle bone
+ LeftFoot = 5,
+
+ // This is the Right Ankle bone
+ RightFoot = 6,
+
+ // This is the first Spine bone
+ Spine = 7,
+
+ // This is the Chest bone
+ Chest = 8,
+
+ // This is the Neck bone
+ Neck = 9,
+
+ // This is the Head bone
+ Head = 10,
+
+ // This is the Left Shoulder bone
+ LeftShoulder = 11,
+
+ // This is the Right Shoulder bone
+ RightShoulder = 12,
+
+ // This is the Left Upper Arm bone
+ LeftUpperArm = 13,
+
+ // This is the Right Upper Arm bone
+ RightUpperArm = 14,
+
+ // This is the Left Elbow bone
+ LeftLowerArm = 15,
+
+ // This is the Right Elbow bone
+ RightLowerArm = 16,
+
+ // This is the Left Wrist bone
+ LeftHand = 17,
+
+ // This is the Right Wrist bone
+ RightHand = 18,
+
+ // This is the Left Toes bone
+ LeftToes = 19,
+
+ // This is the Right Toes bone
+ RightToes = 20,
+
+ // This is the Left Eye bone
+ LeftEye = 21,
+
+ // This is the Right Eye bone
+ RightEye = 22,
+
+ // This is the Jaw bone
+ Jaw = 23,
+
+ // This is the Last bone index delimiter
+ LastBone = 24
+END
+
+ENUM internal HumanFingerBones
+ ThumbProximal = 0,
+ ThumbIntermediate,
+ ThumbDistal,
+
+ IndexProximal,
+ IndexIntermediate,
+ IndexDistal,
+
+ MiddleProximal,
+ MiddleIntermediate,
+ MiddleDistal,
+
+ RingProximal,
+ RingIntermediate,
+ RingDistal,
+
+ LittleProximal,
+ LittleIntermediate,
+ LittleDistal,
+ LastBone
+END
+
+ENUM internal HumanBodyPart
+ BodyStart = 0,
+ LeftFingerStart = (int)BodyStart + (int)HumanBodyBones.LastBone,
+ RightFingerStart = (int)LeftFingerStart + (int)HumanFingerBones.LastBone
+END
+
+ENUM internal HumanParameter
+ UpperArmTwist = 0,
+ LowerArmTwist,
+ UpperLegTwist,
+ LowerLegTwist,
+ ArmStretch,
+ LegStretch,
+ FeetSpacing
+END
+
+
+// Avatar definition
+CLASS Avatar : Object
+ // Return true if this avatar is a valid mecanim avatar. It can be a generic avatar or a human avatar.
+ CUSTOM_PROP bool isValid {
+ return self->IsValid();
+ }
+
+ // Return true if this avatar is a valid human avatar.
+ CUSTOM_PROP bool isHuman
+ {
+ return self->IsValid() && self->GetAsset()->isHuman();
+ }
+
+ CUSTOM internal void SetMuscleMinMax(int muscleId, float min, float max)
+ {
+ self->SetMuscleMinMax(muscleId, min, max);
+ }
+
+ CUSTOM internal void SetParameter(int parameterId, float value)
+ {
+ self->SetParameter(parameterId, value);
+ }
+
+ CUSTOM internal float GetAxisLength(int humanId)
+ {
+ return self->GetAxisLength(humanId);
+ }
+
+ CUSTOM internal Quaternion GetPreRotation(int humanId)
+ {
+ return self->GetPreRotation(humanId);
+ }
+
+ CUSTOM internal Quaternion GetPostRotation(int humanId)
+ {
+ return self->GetPostRotation(humanId);
+ }
+
+ CUSTOM internal Quaternion GetZYPostQ(int humanId, Quaternion parentQ, Quaternion q) {
+ return self->GetZYPostQ(humanId, parentQ, q);
+ }
+
+ CUSTOM internal Quaternion GetZYRoll(int humanId, Vector3 uvw) {
+ return self->GetZYRoll(humanId, uvw);
+ }
+
+ CUSTOM internal Vector3 GetLimitSign(int humanId){
+ return self->GetLimitSign(humanId);
+ }
+
+END
+
+// Humanoid definition
+CLASS HumanTrait : Object
+
+ // Number of muscles
+ CUSTOM_PROP static int MuscleCount
+ {
+ return HumanTrait::MuscleCount;
+ }
+
+ // Muscle's name
+ CUSTOM_PROP static string[] MuscleName
+ {
+ return Scripting::StringVectorToMono( HumanTrait::GetMuscleName() );
+ }
+
+ // Number of bones
+ CUSTOM_PROP static int BoneCount
+ {
+ return HumanTrait::BoneCount;
+ }
+
+ // Bone's name
+ CUSTOM_PROP static string[] BoneName
+ {
+ return Scripting::StringVectorToMono( HumanTrait::GetBoneName() );
+ }
+
+ // Return muscle index linked to bone i, dofIndex allow you to choose between X, Y and Z muscle's axis
+ CUSTOM static int MuscleFromBone(int i, int dofIndex){
+ return HumanTrait::MuscleFromBone(i, dofIndex);
+ }
+
+ // Return bone index linked to muscle i
+ CUSTOM static int BoneFromMuscle(int i){
+ return HumanTrait::BoneFromMuscle(i);
+ }
+
+ // Return true if bone i is a required bone.
+ CUSTOM static bool RequiredBone(int i){
+ return HumanTrait::RequiredBone(i);
+ }
+
+ // Number of required bones.
+ CUSTOM_PROP static int RequiredBoneCount
+ {
+ return HumanTrait::RequiredBoneCount();
+ }
+
+ CUSTOM internal static bool HasCollider(Avatar avatar, int i){
+ return HumanTrait::HasCollider(*avatar, i);
+ }
+
+ // Return default minimum values for muscle.
+ CUSTOM static float GetMuscleDefaultMin(int i){
+ return HumanTrait::GetMuscleDefaultMin(i);
+ }
+
+ // Return default maximum values for muscle.
+ CUSTOM static float GetMuscleDefaultMax(int i){
+ return HumanTrait::GetMuscleDefaultMax(i);
+ }
+
+END
+
+CSRAW }