Unity 3D导入txt文本文件坐标并打印

2023-05-16

先看打印结果:

 

首先我们创建一个txt文件,将坐标输入或复制进去,从左到右依次为x  y  z,中间用逗号(英文逗号)隔开

在Unity工程文件下的Assets文件夹下创建Resources文件夹,并将该txt文件复制在此文件夹下

 创建C#脚本,名称任意

导入该文件:

TextAsset matlabData = Resources.Load("MTBtest") as TextAsset;
//MTBtest为我的txt文件名称,matlabData是你随意起的一个名称

按行切分数据:

string[] test = matlabData.text.Split('\n');

确定行数:

rowNum = test.Length;

将MTBtest.txt中的坐标分别存入pointX[i]、pointY[i]、 pointZ[i]:

for (int i = 0, j = 0; i < test.Length; i++)
        {
            splitData = test[i].Split(","); //在splitData中存入test数据,存入的是坐标            

            pointX[i] = splitData[j];
            pointY[i] = splitData[j + 1];
            pointZ[i] = splitData[j + 2];           
        }

放出完整代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MTBtoCS : MonoBehaviour
{
    string[] pointX = new string[100];
    string[] pointY = new string[100];
    string[] pointZ = new string[100];
    string[] splitData = new string[1000];
    int rowNum, currentRowLabel = 1;
    public int pointLabel = 0;

    void Start()
    {
        TextAsset matlabData = Resources.Load("MTBtest") as TextAsset;
        string[] test = matlabData.text.Split('\n'); //test.Length = 28
        rowNum = test.Length;   // = 28  组数据
        
        //将MTBtest.txt中的坐标分别存入pointX[i]、pointY[i]、 pointZ[i]
        for (int i = 0, j = 0; i < test.Length; i++)
        {
            splitData = test[i].Split(","); //在splitData中存入test数据,存入的是坐标            

            pointX[i] = splitData[j];
            pointY[i] = splitData[j + 1];
            pointZ[i] = splitData[j + 2];           
        }
        DrawLine();

    }
  
    void Update()
    {
        
    }
    
    /// <summary>
    /// 画线
    /// </summary>
    void DrawLine()
    {
        for (int i = 0; i < rowNum; i += 4)
        {
            Debug.DrawLine(new Vector3(float.Parse(pointX[i]), float.Parse(pointY[i]), float.Parse(pointZ[i])),
                new Vector3(float.Parse(pointX[i+1]), float.Parse(pointY[i+1]), float.Parse(pointZ[i+1])),
                Color.black,100f);
            Debug.DrawLine(new Vector3(float.Parse(pointX[i+1]), float.Parse(pointY[i+1]), float.Parse(pointZ[i+1])),
                new Vector3(float.Parse(pointX[i + 2]), float.Parse(pointY[i + 2]), float.Parse(pointZ[i + 2])),
                Color.black, 100f);
            Debug.DrawLine(new Vector3(float.Parse(pointX[i + 2]), float.Parse(pointY[i + 2]), float.Parse(pointZ[i + 2])),
                new Vector3(float.Parse(pointX[i + 3]), float.Parse(pointY[i + 3]), float.Parse(pointZ[i + 3])),
                Color.black, 100f);
            Debug.DrawLine(new Vector3(float.Parse(pointX[i + 3]), float.Parse(pointY[i + 3]), float.Parse(pointZ[i + 3])),
                new Vector3(float.Parse(pointX[i]), float.Parse(pointY[i]), float.Parse(pointZ[i])),
                Color.black, 100f);           
        }
    }

}

如果想要查看坐标,可以在start函数中的for中加入:

Debug.Log(pointX[i] + "," + pointY[i] + "," + pointZ[i]);

最后,将脚本挂在到物体上(空物体即可),点击运行,即可实现

注意,分割数据用的是

.text.Split('\n');

重点就是导入和分割数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 3D导入txt文本文件坐标并打印 的相关文章

  • 【Unity Shader】屏幕后处理1.0:调整亮度/饱和度/对比度

    1 Unity中实现屏幕特效的基本步骤 什么叫屏幕后处理 Screen post processing effects 渲染完整个场景得到屏幕图像后对图像进行一系列操作 实现各种屏幕特效 这一步我们可以添加很多例如景深 Depth of F
  • UE5学习笔记(一)——界面功能梳理&第一天知识点记录

    学习UE5的第一步 是软件安装 默认是安装好的 由于安装没有太多技术含量 所以就没有专门做记录 这里有个注意点 虚幻引擎是整合在Epic games launcher中的 也就是说开发引擎内嵌在游戏平台上 打个比方 就是如果你要下unity
  • Unity中loading页加载的实现

    首先创建一个Global cs 使用单例用于存储场景的名字 便于后续脚本的调用 此脚本不必挂载在游戏物体上 using UnityEngine using System Collections public class Global Mon
  • 蒙特卡洛积分、重要性采样、低差异序列

    渲染公式 渲染的目标在于计算周围环境的光线有多少从表面像素点反射到相机视口中 要计算总的反射光 每个入射方向的贡献 必须将他们在半球上相加 为入射光线 与法线 的夹角 为方便计算可以使用法线向量和入射向量 单位化 的乘积表示 对于基于图像的
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity-AR 简介

    Unity AR 简介 现有Unity AR Sdk ARKit 苹果推出的AR开发平台 ARCore Google 推出的增强现实 SDK ARFoundation ARFoundation是ARKit XR插件和ARCore XR插件
  • GooglePlay提审警告(com.google.android.gms:play-services-safetynet:17.0.0)

    1 Goole在今年6月份出的新政策 不在使用safetynet 而使用Play Integrity API 2 项目本身没有使用过safetynet 3 使用了firebase 查阅资料 解决方案如下 implementation pla
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity3d大型互动照片墙

    1 本次应客户需求 制作一个大型照片墙互动 输出分辨率为9600 4320 注 unity3d官方推荐最大分辨率为8192 3686 4 经过现场长达24小时暴力测试中途未发生问题 姑且判定可以达到正常标准 废话不多说 先上效果 unity
  • VLC for unity 插件如何使用

    VLC for unity 插件如何使用 先去下载一个VLC播放器 安装完成后 然后导入插件链接https download csdn net my 这个插件我的另一个上传资源里有 或者到商店去下载 这个插件链接下载完是一个txt文档 里面
  • 【Unity步步升】监控与检测物体的各种方案,如:射线、碰撞、挂载等...

    在制作AR模型数值控制方案的时候遇到了检测的问题 学习过程受益匪浅 故今天为大家整理带来一篇监控与检测物体的参考方案集合 目录 一 射线检测 二 物体存在检测 三 碰撞检测 一 射线检测 单射线检测 首先完成搭建场景如下图1 1 我这里用到
  • unity3d 自定义的图片无法放入source image中

    须将图片的texture type改为 sprite
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • unity小球跟随音乐节奏放大缩小和改变颜色

    放在小球身上 设置对应组件即可 using System Collections using System Collections Generic using Unity VisualScripting using UnityEngine
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • 游戏开发常见操作梳理之NPC任务系统

    多数游戏存在任务系统 接下来介绍通过NPC触发任务的游戏制作代码 using System Collections using System Collections Generic using UnityEngine
  • 游戏开发常见操作梳理之小地图的制作

    游戏中一般存在小地图系统 实际上就是设置一个新的摄像机放置在玩家的正上方 然后在小地图上显示新摄像机看见的东西就可以了 在小地图上一般存在放大地图和缩小地图的按钮可以方便放大和缩小地图 这些操作是如何实现的呢 接下来直接上核心代码 usin
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge

随机推荐

  • 2020-11-26

    短剧本创作小技巧 xff0c 提升完播率 相信每一个编剧在自己的短剧本拍成视频时 xff0c 都会有满足感和成就感 但有的时候 xff0c 也会辗转难眠 xff0c 而其中遇到了最大问题就是完播率太低 而影响完播率的关键所在 xff0c 就
  • 2020-11-28

    短剧本中的场景选择 一般在写短剧本的时候 xff0c 一个故事里面会有很多的故事场景 xff0c 场景写的比较好就会使短剧本在转换为段视频的时候 xff0c 制作的短视频会更加的好看 故事的场景也算得上是一个故事的主要开端 xff0c 开端
  • 基于C++11实现的阻塞队列(BlockQueue)

    思路 xff1a 生产者消费者模型 如图 xff0c 多个生产者线程和多个消费者线程共享同一固定大小的缓冲区 xff0c 它们的生产和消费符合以下规则 xff1a 生产者不会在缓冲区满的时候继续向缓冲区放入数据 xff0c 而消费者也不会在
  • 航空订票系统设计(java、数据库、通信联合项目)

    航空订票系统设计 xff08 java 数据库 通信联合项目 xff09 最近帮高中同学做的一个学校项目 xff0c 这个项目主要是用Java写的 前期主要搭建五个类 xff0c Order xff08 选择 xff09 Passenger
  • java基础之IO流中的字节流

    目录 一 xff1a 字节流写数据 二 xff1a 字节流写数据的方式 三 xff1a 字节流写数据实例 字节流写数据步骤 字节流写数据例子 字节流追加写数据 四 xff1a 字节流读取数据 五 xff1a 字节读取数据的方法 六 xff1
  • java基础之转换流

    目录 一 xff1a 解释 二 xff1a 转换流输入流 1 xff1a 构造方法 2 xff1a InputStreamReader读数据方法 3 xff1a 例子 3 xff1a 注意 三 转换流输出流 1 xff1a 构造方法 2 x
  • java基础之多线程的引入

    目录 一 xff1a 多线程概述 进程 线程 举例 二 xff1a 并行与并发 三 xff1a Java程序的运行原理 四 xff1a JVM启动的时候是单线程还是多线程呢 xff1f 一 xff1a 多线程概述 进程 正在运行的程序 xf
  • 电信运营商云计算体系架构分析

    电信运营商云计算体系架构分析 作者 xff1a 成晓旭 xff08 版权保留 欢迎转载 xff09 第三篇 xff1a 体系架构分析 电信运营商云计算发展分析之一 xff1a 战略定位分析 xff0c 可供参考 电信运营商云计算发展分析之二
  • java基础之线程安全问题(一)

    目录 一 xff1a 线程安全判断依据 二 xff1a 解决线程安全问题实现 同步代码块 1 格式 2 同步代码块的锁对象是谁 xff1f 3 xff1a 同步方法的时候 xff0c 锁对象又是谁呢 xff1f 4 xff1a 静态同步方法
  • java基础之线程安全问题(二)

    目录 一 xff1a Lock锁的使用 xff08 解决同步问题 xff09 二 xff1a 例子 三 xff1a 同步的特点 xff08 1 xff09 同步的前提 xff08 2 xff09 同步的好处 xff08 3 xff09 同步
  • redis基础知识

    目录 一 xff1a 概念 二 xff1a NoSQL分类 三 xff1a Redis数据模型 四 xff1a 键Key 一 xff1a 概念 开源的 xff08 BSD协议 xff09 xff0c 使用ANSI C 编写 xff0c 基于
  • Hive建表以及导入数据

    目录 一 xff1a 内部表和外部表 1 xff1a 外部表 2 xff1a 外部表 3 xff1a 外部表和内部表区别 二 xff1a 上传数据方式 一 xff1a 内部表和外部表 1 xff1a 外部表 内部表基础建表语句一 默认指定文
  • Hive行列互转

    目录 一 xff1a 行转列 1 xff1a lateral view 行转列 2 xff1a explode函数 3 xff1a 例子 二 xff1a 列转行 1 概念 2 xff1a 例子 一 xff1a 行转列 1 xff1a lat
  • Hive行转列的应用之计算公司累加收入

    公司代码 年度 1月 12月的收入金额 burk year tsl01 tsl02 tsl03 tsl04 tsl05 tsl06 tsl07 tsl08 tsl09 tsl10 tsl11 tsl12 853101 2010 100200
  • Hive的常用函数

    目录 1 关系运算 2 数值计算 3 条件函数 4 日期函数 5 xff1a 字符串函数 6 xff1a Hive 中的wordCount 1 关系运算 等值比较 61 61 61 lt 61 gt 不等值比较 61 lt gt 区间比较
  • IDEA配置spring环境,并简单测试

    目录 一 下载安装需要的依赖包 二 IDEA的部署 一 下载安装需要的依赖包 首先 xff0c 我们需要下载一点jar包 第一个jar包是第三方依赖的jar包 xff0c Spring的核心容器依赖commons logging的JAR包
  • Unity导出工作台(Console)数据

    首先在Unity中添加C 脚本 xff1a using System Collections using System Collections Generic using UnityEngine using UnityEditor usin
  • Unity利用代码生成空心立方体(立方体挖走一个圆柱)

    先看效果 还未生成mesh时挖去圆柱的立方体 生成mesh后挖去圆柱的立方体 放代码为敬 xff08 脚本挂在空物体上即可 xff09 xff1a using System Collections using System Collecti
  • 企业ERP系统开发总结及建议

    企业ERP系统开发总结及建议 作者 xff1a 成晓旭 对于像我们这种规模的大型公司 xff0c 自己建设 实施和维护满足公司特定管理要求的管理信息系统 xff0c 是目前部分大型公司建设企业ERP 的常见思路 比如 xff1a XXXX
  • Unity 3D导入txt文本文件坐标并打印

    先看打印结果 xff1a 首先我们创建一个txt文件 xff0c 将坐标输入或复制进去 xff0c 从左到右依次为x y z xff0c 中间用逗号 xff08 英文逗号 xff09 隔开 在Unity工程文件下的Assets文件夹下创建R