mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
Better feet tracking
This commit is contained in:
@@ -97,7 +97,10 @@ public class HumanSekeletonWithLegs extends HumanSkeleonWithWaist {
|
||||
rightAnkleNode.localTransform.setTranslation(0, -ankleLength, 0);
|
||||
|
||||
leftAnkleNode.attachChild(leftFootNode);
|
||||
leftFootNode.localTransform.setTranslation(0, 0, -0.05f);
|
||||
|
||||
rightAnkleNode.attachChild(rightFootNode);
|
||||
rightFootNode.localTransform.setTranslation(0, 0, -0.05f);
|
||||
|
||||
configMap.put("Hips width", hipsWidth);
|
||||
configMap.put("Hip length", hipsLength);
|
||||
@@ -145,6 +148,7 @@ public class HumanSekeletonWithLegs extends HumanSkeleonWithWaist {
|
||||
|
||||
if(leftFootTracker != null) {
|
||||
leftFootTracker.getRotation(kneeBuf);
|
||||
leftAnkleNode.localTransform.setRotation(kneeBuf);
|
||||
leftFootNode.localTransform.setRotation(kneeBuf);
|
||||
}
|
||||
|
||||
@@ -161,6 +165,7 @@ public class HumanSekeletonWithLegs extends HumanSkeleonWithWaist {
|
||||
|
||||
if(rightFootTracker != null) {
|
||||
rightFootTracker.getRotation(kneeBuf);
|
||||
rightAnkleNode.localTransform.setRotation(kneeBuf);
|
||||
rightFootNode.localTransform.setRotation(kneeBuf);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,27 +3,24 @@ package io.eiren.vr.processor;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.jme3.math.Quaternion;
|
||||
|
||||
public enum TrackerBodyPosition {
|
||||
|
||||
CHEST(Quaternion.IDENTITY, "body:chest"),
|
||||
WAIST(Quaternion.IDENTITY, "body:waist"),
|
||||
LEFT_LEG(Quaternion.IDENTITY, "body:left_leg"),
|
||||
RIGHT_LEG(Quaternion.IDENTITY, "body:right_leg"),
|
||||
LEFT_ANKLE(Quaternion.IDENTITY, "body:left_ankle"),
|
||||
RIGHT_ANKLE(Quaternion.IDENTITY, "body:right_ankle"),
|
||||
LEFT_FOOT(Quaternion.IDENTITY, "body:left_foot"),
|
||||
RIGHT_FOOT(Quaternion.IDENTITY, "body:right_foot"),
|
||||
NONE(""),
|
||||
CHEST("body:chest"),
|
||||
WAIST("body:waist"),
|
||||
LEFT_LEG("body:left_leg"),
|
||||
RIGHT_LEG("body:right_leg"),
|
||||
LEFT_ANKLE("body:left_ankle"),
|
||||
RIGHT_ANKLE("body:right_ankle"),
|
||||
LEFT_FOOT("body:left_foot"),
|
||||
RIGHT_FOOT("body:right_foot"),
|
||||
;
|
||||
|
||||
public final Quaternion baseRotation;
|
||||
public final String designation;
|
||||
|
||||
private static final Map<String, TrackerBodyPosition> byDesignation = new HashMap<>();
|
||||
|
||||
private TrackerBodyPosition(Quaternion base, String designation) {
|
||||
this.baseRotation = base;
|
||||
private TrackerBodyPosition(String designation) {
|
||||
this.designation = designation;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user