【问题标题】:Extracting separate co-ordinates of a game object提取游戏对象的单独坐标
【发布时间】:2018-07-18 19:32:17
【问题描述】:

我目前正在开展一个学校项目,我将在其中使用动作捕捉和统一。它是为老年人设计的,以改善他们的认知和运动功能。我希望 unity 能够将他们的动作记录到 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();
    }
}

【问题讨论】:

  • 你没有初始化位置:你应该用肢体的位置来初始化它。我说的对吗?
  • 通过在the wolf 函数中声明局部变量的方式,您似乎将 C# 与 Javascript(Unityscript) 混合在一起。您不能在一个脚本中同时使用两种语言。你必须使用一个。
  • 哦,这可能是因为我使用了来自 2 个不同地方的示例代码,并且我尝试将它们合并为我自己的。我没有意识到它有java脚本,但这是一个问题吗?我是否删除了 java 脚本部分?
  • 还有我如何初始化四肢位置?

标签: c# unity3d


【解决方案1】:

改变

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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多