【无标题】

数据驱动模型

  • 物体坐标值分开显示
  • 读/写.csv文件
    • .csv文件的生成
    • 读取.csv文件
    • 写入.csv文件
  • 一级目录

物体坐标值分开显示

【无标题】_第1张图片

	//下面代码表示物体移动到局部坐标为(2,0.5,1)处,且能实时显示每个轴的变化
    public Text textComponent;
    public Text textComponentRX;
    public Vector3 wei;
    public float weiRX;
    void Update()
    {
        transform.localPosition = Vector3.MoveTowards(transform.localPosition, new Vector3(2f, 0.5f, 1f), 1f * Time.deltaTime);
       	wei.x = transform.localPosition.x;
        weiRX = transform.localRotation.x; 
        textComponent.text = "X轴坐标:" + wei.x.ToString("F3"); //Fx 显示 小数点后x位
        textComponentRX.text = "Rx: " + weiRX.ToString();
    }

读/写.csv文件

.csv文件的生成

在Excel中另存为.csv格式的文件
【无标题】_第2张图片

读取.csv文件

【无标题】_第3张图片
.csv文件中有4列12行数据,其中第1行表示类型,第1列表示唯一标识的ID号,后面三列的数据表示物体的(x,y,z)坐标

using System.Collections.Generic;
using UnityEngine;
using System.IO;
using System.Text;
using UnityEngine.UIElements;
using System;
using UnityEditor;

public class Read_csv : MonoBehaviour
{
	public Vector3[] SpilttargetPositions;
    void Start()
    {
        // 定义CSV文件的路径
        string filePath = "Assets/StreamingAssets/transformer_data.csv";

        // 创建一个StreamReader对象来读取文件,并加上中文标识符
        StreamReader reader = new StreamReader(filePath, Encoding.UTF8);

        // 创建字典来存储数据
        Dictionary<string, Vector3> data = new Dictionary<string, Vector3>();

        //创建列表来存储ID
        List<string> idorder = new List<string>();

        //创建列表来存储坐标轴
        List<Vector3> velist = new List<Vector3>();
        //读取csv文件的第一行,即类别
        string categoriesLine = reader.ReadLine();

        while (!reader.EndOfStream)
        {
            // 逐行读取CSV文件
            string line = reader.ReadLine();
            //Debug.Log("line:" + line);
            // 使用逗号分隔每个字段
            string[] fields = line.Split(',');
 
            // 将每个字段的数据转换为float类型,并存储到Vector3中
            string id = fields[0];
            float x = float.Parse(fields[1]);
            float y = float.Parse(fields[2]);
            float z = float.Parse(fields[3]);
    
            Vector3 position1 = new Vector3(x, y, z);
            data[id] = position1;
            velist.Add(position1);
        }
        reader.Close();
        //Debug.Log("asdasdasd1111" + velist[4]);
        SpilttargetPositions = velist.ToArray();
    }
    //随便挂载到一个物体上,验证是否能运动,能则表示
    //SpilttargetPositions = new Vector3[]
    //    { new Vector3(0f, 0f, -0.5f), 
    //      new Vector3(3f, 0f, -0.3f) };
        private void Update()
    {
        transform.localPosition = Vector3.MoveTowards(transform.localPosition, SpilttargetPositions[2], 1f * Time.deltaTime);
    }
}

写入.csv文件

一级目录

你可能感兴趣的:(java,开发语言)