【无标题】

物体坐标值分开显示

	//下面代码表示物体移动到局部坐标为(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格式的文件
在这里插入图片描述

读取.csv文件

在这里插入图片描述
.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文件

一级目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值