mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
Compare commits
2 Commits
main
...
kotlin-war
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4782aeff68 | ||
|
|
d96f93a7db |
@@ -74,20 +74,9 @@ class AutoBone(server: VRServer) {
|
||||
// Remove all previous values
|
||||
offsets.clear()
|
||||
|
||||
// Get current or default skeleton configs
|
||||
val skeleton = server.humanPoseManager
|
||||
// Still compensate for a null skeleton, as it may not be initialized yet
|
||||
val getOffset: Function<SkeletonConfigOffsets, Float> =
|
||||
if (skeleton != null) {
|
||||
Function { key: SkeletonConfigOffsets -> skeleton.getOffset(key) }
|
||||
} else {
|
||||
val defaultConfig = SkeletonConfigManager(false)
|
||||
Function { config: SkeletonConfigOffsets ->
|
||||
defaultConfig.getOffset(config)
|
||||
}
|
||||
}
|
||||
// Get current skeleton configs
|
||||
for (bone in adjustOffsets) {
|
||||
val offset = getOffset.apply(bone)
|
||||
val offset = server.humanPoseManager.getOffset(bone)
|
||||
if (offset > 0f) {
|
||||
offsets[bone] = offset
|
||||
}
|
||||
@@ -154,18 +143,15 @@ class AutoBone(server: VRServer) {
|
||||
val targetHeight: Float
|
||||
// Get the current skeleton from the server
|
||||
val humanPoseManager = server.humanPoseManager
|
||||
// Still compensate for a null skeleton, as it may not be initialized yet
|
||||
if (config.useSkeletonHeight && humanPoseManager != null) {
|
||||
// If there is a skeleton available, calculate the target height
|
||||
// from its configs
|
||||
if (config.useSkeletonHeight) {
|
||||
// calculate the target height from the skeleton configs
|
||||
targetHeight = humanPoseManager.userHeightFromConfig
|
||||
LogManager
|
||||
.warning(
|
||||
"[AutoBone] Target height loaded from skeleton (Make sure you reset before running!): $targetHeight",
|
||||
)
|
||||
} else {
|
||||
// Otherwise if there is no skeleton available, attempt to get the
|
||||
// max HMD height from the recording
|
||||
// Otherwise, attempt to get the max HMD height from the recording
|
||||
val hmdHeight = frames.maxHmdHeight
|
||||
if (hmdHeight <= 0.4f) {
|
||||
LogManager
|
||||
|
||||
@@ -39,7 +39,7 @@ class PositionError : IAutoBoneError {
|
||||
val position = trackerFrame.tryGetPosition() ?: continue
|
||||
val trackerRole = trackerFrame.tryGetTrackerPosition()?.trackerRole ?: continue
|
||||
|
||||
val computedTracker = skeleton.getComputedTracker(trackerRole) ?: continue
|
||||
val computedTracker = skeleton.getComputedTracker(trackerRole)
|
||||
|
||||
offset += (position - computedTracker.position).len()
|
||||
offsetCount++
|
||||
|
||||
@@ -37,8 +37,8 @@ class PositionOffsetError : IAutoBoneError {
|
||||
val position2 = trackerFrame2.tryGetPosition() ?: continue
|
||||
val trackerRole2 = trackerFrame2.tryGetTrackerPosition()?.trackerRole ?: continue
|
||||
|
||||
val computedTracker1 = skeleton1.getComputedTracker(trackerRole1) ?: continue
|
||||
val computedTracker2 = skeleton2.getComputedTracker(trackerRole2) ?: continue
|
||||
val computedTracker1 = skeleton1.getComputedTracker(trackerRole1)
|
||||
val computedTracker2 = skeleton2.getComputedTracker(trackerRole2)
|
||||
|
||||
val dist1 = (position1 - computedTracker1.position).len()
|
||||
val dist2 = (position2 - computedTracker2.position).len()
|
||||
|
||||
@@ -144,7 +144,7 @@ class RPCAutoBoneHandler(
|
||||
|
||||
private fun onAutoBoneApplyRequest(
|
||||
conn: GenericConnection,
|
||||
messageHeader: RpcMessageHeader,
|
||||
@Suppress("UNUSED_PARAMETER")messageHeader: RpcMessageHeader,
|
||||
) {
|
||||
api.server.autoBoneHandler.applyValues()
|
||||
|
||||
@@ -160,15 +160,15 @@ class RPCAutoBoneHandler(
|
||||
}
|
||||
|
||||
private fun onAutoBoneStopRecordingRequest(
|
||||
conn: GenericConnection,
|
||||
messageHeader: RpcMessageHeader,
|
||||
@Suppress("UNUSED_PARAMETER")conn: GenericConnection,
|
||||
@Suppress("UNUSED_PARAMETER")messageHeader: RpcMessageHeader,
|
||||
) {
|
||||
api.server.autoBoneHandler.stopRecording()
|
||||
}
|
||||
|
||||
private fun onAutoBoneCancelRecordingRequest(
|
||||
conn: GenericConnection,
|
||||
messageHeader: RpcMessageHeader,
|
||||
@Suppress("UNUSED_PARAMETER") conn: GenericConnection,
|
||||
@Suppress("UNUSED_PARAMETER") messageHeader: RpcMessageHeader,
|
||||
) {
|
||||
api.server.autoBoneHandler.cancelRecording()
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ class RPCTrackingPause(private val rpcHandler: RPCHandler, private val api: Prot
|
||||
return fbb.dataBuffer()
|
||||
}
|
||||
|
||||
private fun onTrackingPauseStateRequest(conn: GenericConnection, messageHeader: RpcMessageHeader) {
|
||||
private fun onTrackingPauseStateRequest(conn: GenericConnection, @Suppress("UNUSED_PARAMETER") messageHeader: RpcMessageHeader) {
|
||||
conn.send(getPauseStateResponse(currentPauseState))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user