Compare commits

...

1 Commits
main ... mitten

Author SHA1 Message Date
Erimel
8d91838fab Create toggle 2026-03-02 19:48:26 -05:00
7 changed files with 22 additions and 2 deletions

View File

@@ -662,6 +662,8 @@ settings-general-fk_settings-skeleton_settings-impute_hip_from_waist_legs = Impu
settings-general-fk_settings-skeleton_settings-interp_hip_legs = Average the hip's yaw and roll with the legs'
settings-general-fk_settings-skeleton_settings-interp_knee_tracker_ankle = Average the knee trackers' yaw and roll with the ankles'
settings-general-fk_settings-skeleton_settings-interp_knee_ankle = Average the knees' yaw and roll with the ankles'
settings-general-fk_settings-skeleton_settings-fingers_mitten = Fingers Mitten Mode
settings-general-fk_settings-self_localization-title = Mocap mode
settings-general-fk_settings-self_localization-description = Mocap Mode allows the skeleton to roughly track its own position without a headset or other trackers. Note that this requires feet and head trackers to work and is still experimental.

View File

@@ -75,6 +75,7 @@ export type SettingsForm = {
usePosition: boolean;
enforceConstraints: boolean;
correctConstraints: boolean;
fingersMitten: boolean;
};
ratios: {
imputeWaistFromChestHip: number;
@@ -134,6 +135,7 @@ const defaultValues: SettingsForm = {
usePosition: true,
enforceConstraints: true,
correctConstraints: true,
fingersMitten: false,
},
ratios: {
imputeWaistFromChestHip: 0.3,
@@ -231,6 +233,7 @@ export function GeneralSettings() {
toggles.usePosition = values.toggles.usePosition;
toggles.enforceConstraints = values.toggles.enforceConstraints;
toggles.correctConstraints = values.toggles.correctConstraints;
toggles.fingersMitten = values.toggles.fingersMitten;
modelSettings.toggles = toggles;
}
@@ -1036,6 +1039,15 @@ export function GeneralSettings() {
'settings-general-fk_settings-skeleton_settings-extended_knees_model'
)}
/>
<CheckBox
variant="toggle"
outlined
control={control}
name="toggles.fingersMitten"
label={l10n.getString(
'settings-general-fk_settings-skeleton_settings-fingers_mitten'
)}
/>
</div>
<div className="flex flex-col">
<div className="flex flex-col pt-2 pb-3 gap-2">

View File

@@ -209,6 +209,7 @@ fun createModelSettings(
humanPoseManager.getToggle(SkeletonConfigToggles.USE_POSITION),
humanPoseManager.getToggle(SkeletonConfigToggles.ENFORCE_CONSTRAINTS),
humanPoseManager.getToggle(SkeletonConfigToggles.CORRECT_CONSTRAINTS),
humanPoseManager.getToggle(SkeletonConfigToggles.FINGERS_MITTEN),
)
val ratiosOffset = ModelRatios
.createModelRatios(

View File

@@ -241,6 +241,7 @@ class RPCSettingsHandler(var rpcHandler: RPCHandler, var api: ProtocolAPI) {
hpm.setToggle(SkeletonConfigToggles.USE_POSITION, toggles.usePosition())
hpm.setToggle(SkeletonConfigToggles.ENFORCE_CONSTRAINTS, toggles.enforceConstraints())
hpm.setToggle(SkeletonConfigToggles.CORRECT_CONSTRAINTS, toggles.correctConstraints())
hpm.setToggle(SkeletonConfigToggles.FINGERS_MITTEN, toggles.fingersMitten())
}
if (ratios != null) {

View File

@@ -17,7 +17,8 @@ public enum SkeletonConfigToggles {
SELF_LOCALIZATION(10, "Self Localization", "selfLocalization", false),
USE_POSITION(11, "Use Position", "usePosition", true),
ENFORCE_CONSTRAINTS(12, "Enforce Constraints", "enforceConstraints", true),
CORRECT_CONSTRAINTS(13, "Correct Constraints", "correctConstraints", true),;
CORRECT_CONSTRAINTS(13, "Correct Constraints", "correctConstraints", true),
FINGERS_MITTEN(14, "Fingers Mitten", "fingersMitten", true),;
public static final SkeletonConfigToggles[] values = values();
private static final Map<String, SkeletonConfigToggles> byStringVal = new HashMap<>();

View File

@@ -197,6 +197,7 @@ class HumanSkeleton(
private var forceArmsFromHMD = true
private var enforceConstraints = true
private var correctConstraints = true
private var fingersMitten = true
// Ratios
private var waistFromChestHipAveraging = 0f
@@ -1204,6 +1205,8 @@ class HumanSkeleton(
SkeletonConfigToggles.ENFORCE_CONSTRAINTS -> enforceConstraints = newValue
SkeletonConfigToggles.CORRECT_CONSTRAINTS -> correctConstraints = newValue
SkeletonConfigToggles.FINGERS_MITTEN -> fingersMitten = newValue
}
}