added tracking of headset + controllers for logging

This commit is contained in:
tom.hempel
2025-10-04 21:11:35 +02:00
parent 57b6c0e234
commit 5f18aab285

View File

@ -30,6 +30,15 @@ public class TrackWeights : MonoBehaviour
[SerializeField] [SerializeField]
private Transform[] bones; private Transform[] bones;
[SerializeField]
private Transform centerEyeAnchor;
[SerializeField]
private Transform leftHandAnchor;
[SerializeField]
private Transform rightHandAnchor;
private ConcurrentQueue<string> sendQueue = new ConcurrentQueue<string>(); private ConcurrentQueue<string> sendQueue = new ConcurrentQueue<string>();
@ -227,6 +236,93 @@ public class TrackWeights : MonoBehaviour
sb.Append(';'); sb.Append(';');
sb.Append(rightEye.localRotation.z.ToString("F4")); sb.Append(rightEye.localRotation.z.ToString("F4"));
// Center Eye Camera (Position + Rotation)
if (centerEyeAnchor != null)
{
sb.Append(';');
sb.Append(centerEyeAnchor.position.x.ToString("F4"));
sb.Append(';');
sb.Append(centerEyeAnchor.position.y.ToString("F4"));
sb.Append(';');
sb.Append(centerEyeAnchor.position.z.ToString("F4"));
sb.Append(';');
sb.Append(centerEyeAnchor.rotation.w.ToString("F4"));
sb.Append(';');
sb.Append(centerEyeAnchor.rotation.x.ToString("F4"));
sb.Append(';');
sb.Append(centerEyeAnchor.rotation.y.ToString("F4"));
sb.Append(';');
sb.Append(centerEyeAnchor.rotation.z.ToString("F4"));
}
else
{
// Send zeros if centerEyeAnchor is not set
for (int i = 0; i < 7; i++)
{
sb.Append(';');
sb.Append("0.0000");
}
}
// Left Hand Controller (Position + Rotation)
if (leftHandAnchor != null)
{
sb.Append(';');
sb.Append(leftHandAnchor.position.x.ToString("F4"));
sb.Append(';');
sb.Append(leftHandAnchor.position.y.ToString("F4"));
sb.Append(';');
sb.Append(leftHandAnchor.position.z.ToString("F4"));
sb.Append(';');
sb.Append(leftHandAnchor.rotation.w.ToString("F4"));
sb.Append(';');
sb.Append(leftHandAnchor.rotation.x.ToString("F4"));
sb.Append(';');
sb.Append(leftHandAnchor.rotation.y.ToString("F4"));
sb.Append(';');
sb.Append(leftHandAnchor.rotation.z.ToString("F4"));
}
else
{
// Send zeros if leftHandAnchor is not set
for (int i = 0; i < 7; i++)
{
sb.Append(';');
sb.Append("0.0000");
}
}
// Right Hand Controller (Position + Rotation)
if (rightHandAnchor != null)
{
sb.Append(';');
sb.Append(rightHandAnchor.position.x.ToString("F4"));
sb.Append(';');
sb.Append(rightHandAnchor.position.y.ToString("F4"));
sb.Append(';');
sb.Append(rightHandAnchor.position.z.ToString("F4"));
sb.Append(';');
sb.Append(rightHandAnchor.rotation.w.ToString("F4"));
sb.Append(';');
sb.Append(rightHandAnchor.rotation.x.ToString("F4"));
sb.Append(';');
sb.Append(rightHandAnchor.rotation.y.ToString("F4"));
sb.Append(';');
sb.Append(rightHandAnchor.rotation.z.ToString("F4"));
}
else
{
// Send zeros if rightHandAnchor is not set
for (int i = 0; i < 7; i++)
{
sb.Append(';');
sb.Append("0.0000");
}
}
// foreach (var bone in bones) // foreach (var bone in bones)
// { // {
// sb.Append(';'); // sb.Append(';');