Init
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PICO.TOBSupport
|
||||
{
|
||||
[Serializable]
|
||||
public class HandStateAlg
|
||||
{
|
||||
public const int Hand_MaxBones = 26;
|
||||
public const int Hand_MaxPinch = 5;
|
||||
public const int Hand_MaxFingers = 5;
|
||||
public const int Hand_Pinch_Num = 4;
|
||||
public short status;
|
||||
public HandJointsLocation rootPose;
|
||||
public HandJointsLocation[] bonePose ;
|
||||
public short pinches;
|
||||
public float[] pinchStrength ;
|
||||
public float clickStrength;
|
||||
public Pose pointerPose;
|
||||
public float handScale;
|
||||
public int handConfidence;
|
||||
public int[] fingerConfidence ;
|
||||
public long requestedTimeStamp;
|
||||
public long sampleTimeStamp;
|
||||
public long outputTimeStamp;
|
||||
public short poseType = 0;
|
||||
public int handType ;
|
||||
public Pose rootPoseVel;
|
||||
public Pose[] bonePoseVel ;
|
||||
public Pose rootPoseAcc;
|
||||
public Pose[] bonePoseAcc;
|
||||
public short clickType ;
|
||||
public bool[] pinchActionReadyOpenxr ;
|
||||
public bool aimActionReadyOpenxr;
|
||||
public bool gripActionReadyOpenxr;
|
||||
public float[] pinchActionValueOpenxr ;
|
||||
public float aimActionValueOpenxr;
|
||||
public float gripActionValueOpenxr;
|
||||
public Pose[] pinchPoseOpenxr ;
|
||||
public Pose aimPoseOpenxr;
|
||||
public Pose pokePoseOpenxr;
|
||||
public Pose gripPoseOpenxr;
|
||||
public Pose gripSurfacePoseOpenxr;
|
||||
|
||||
public HandStateAlg()
|
||||
{
|
||||
status = 0;
|
||||
rootPose = new HandJointsLocation();
|
||||
bonePose = new HandJointsLocation[Hand_MaxBones];
|
||||
for (int i = 0; i < Hand_MaxBones; i++) {
|
||||
bonePose[i] = new HandJointsLocation();
|
||||
}
|
||||
pinches = 0;
|
||||
pinchStrength = new float[Hand_MaxPinch];
|
||||
clickStrength = 0f;
|
||||
pointerPose = new Pose();
|
||||
handScale = 1f;
|
||||
handConfidence = 0;
|
||||
fingerConfidence = new int[Hand_MaxFingers];
|
||||
requestedTimeStamp = 0;
|
||||
sampleTimeStamp = 0;
|
||||
outputTimeStamp = 0;
|
||||
poseType = 0;
|
||||
handType = -1;
|
||||
rootPoseVel = new Pose();
|
||||
bonePoseVel = new Pose[Hand_MaxBones];
|
||||
rootPoseAcc = new Pose();
|
||||
bonePoseAcc = new Pose[Hand_MaxBones];
|
||||
clickType = -1;
|
||||
pinchActionReadyOpenxr = new bool[Hand_Pinch_Num];
|
||||
aimActionReadyOpenxr = false;
|
||||
gripActionReadyOpenxr = false;
|
||||
pinchActionValueOpenxr = new float[Hand_Pinch_Num];
|
||||
aimActionValueOpenxr = 0f;
|
||||
gripActionValueOpenxr = 0f;
|
||||
pinchPoseOpenxr = new Pose[Hand_Pinch_Num];
|
||||
aimPoseOpenxr = new Pose();
|
||||
pokePoseOpenxr = new Pose();
|
||||
gripPoseOpenxr = new Pose();
|
||||
gripSurfacePoseOpenxr = new Pose();
|
||||
}
|
||||
|
||||
|
||||
public static string ToJson(HandStateAlg data)
|
||||
{
|
||||
// 注意:JsonUtility 序列化数组时需包裹在对象中,这里直接序列化根对象即可
|
||||
return JsonUtility.ToJson(data, true); // 第二个参数为 true 时输出格式化的 JSON
|
||||
}
|
||||
}
|
||||
[Serializable]
|
||||
public class HandJointsLocation
|
||||
{
|
||||
public long locationFloags;
|
||||
public Pose pose;
|
||||
public float radius;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user