我目前正在做一个学校项目,我将使用运动捕捉和统一性。它是为提高老年人的认知和运动功能而设计的。我希望团结能够将他们的动作记录到CSV文件中,以查看他们的状况如何。我希望在excel中记录x,y和z坐标随时间的变化。
我正在使用感知神经元进行运动捕捉,总共有32个传感器。统一的3D模型具有32个可移动的不同部分/肢体,包括手指。我在这里添加了一张图片:
现在在这段代码中,我似乎无法获取肢体的坐标(我现在只是想获取单个肢体的坐标)。我努力尝试提取游戏对象的坐标。但是我尝试将Vector3拆分为x,y,z坐标以获取单独的坐标,并且还因为我也希望这些值也为浮点型,但似乎不起作用,有人可以帮助我吗?
这是我的代码:
using UnityEngine;
using System.Collections.Generic;
using System;
using System.IO;
public class Test : MonoBehaviour
{
float timer = 100.0f;
public TestSO so ;
StreamWriter motionData;
public void Start()
{
string fullFilename = @"C:\Users\Administrator\Desktop\CsvPlz.csv";
motionData = new StreamWriter(fullFilename, true);
InvokeRepeating("wolf", 0.0f, 0.5f);
}
void wolf()
{
timer += Time.deltaTime;
string delimiter = ", ";
var position : Vector3;
var x: float = position[0];
var y : float = position[1];
var z : float = position[2];
if (timer > 1.0f)
{
timer -= 1.0f;
string dataText = ("{1}",x) + delimiter + ("{2}", y) + delimiter + ("{3}", z);
motionData.WriteLine(dataText);
}
motionData.Close();
}
}
答案 0 :(得分:2)
更改
var position : Vector3;
var x: float = position[0];
var y : float = position[1];
var z : float = position[2];
收件人
Vector3 position = Vector3.One;
float x = position.x;
float y = position.y;
float z = position.z;
变量x y和z是可选的,因为Vector3已经包含浮点数。您可以直接使用position.x。