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

[ExecuteInEditMode]
public class CoordinateSystemTest : MonoBehaviour {

public Camera CurrentCamera;

void OnGUI()
{

if (CurrentCamera == null)
{
Debug.Log("相机为Null");
return;
}
GUI.Label(new Rect(300, 50, 100, 100), "坐标变换");

GUI.Label(new Rect(100, 100, 100, 100), "1.世界坐标:");
GUI.Label(new Rect(200, 100, 200, 100), transform.position.ToString());

GUI.Label(new Rect(100, 150, 100, 100), "2.局部坐标:");
GUI.Label(new Rect(200, 150, 200, 100), transform.localPosition.ToString());

GUI.Label(new Rect(100, 200, 100, 100), "3.世界坐标->屏幕坐标:");
GUI.Label(new Rect(200, 200, 200, 100), CurrentCamera.WorldToScreenPoint(transform.position).ToString());

GUI.Label(new Rect(100, 250, 100, 100), "4.世界坐标->视口坐标:");
GUI.Label(new Rect(200, 250, 200, 100), CurrentCamera.WorldToViewportPoint(transform.position).ToString());

GUI.Label(new Rect(100, 300, 100, 100), "5.屏幕坐标->视口坐标:");
GUI.Label(new Rect(200, 300, 200, 100), CurrentCamera.ScreenToViewportPoint(transform.position).ToString());

GUI.Label(new Rect(100, 350, 100, 100), "6.屏幕坐标->世界坐标:");
GUI.Label(new Rect(200, 350, 200, 100), CurrentCamera.ScreenToWorldPoint(transform.position).ToString());

GUI.Label(new Rect(100, 400, 100, 100), "7.视口坐标->屏幕坐标:");
GUI.Label(new Rect(200, 400, 200, 100), CurrentCamera.ViewportToScreenPoint(transform.position).ToString());

GUI.Label(new Rect(100, 450, 100, 100), "8.视口坐标->世界坐标:");
GUI.Label(new Rect(200, 450, 200, 100), CurrentCamera.ViewportToWorldPoint(transform.position).ToString());

}
}

转载于:https://www.cnblogs.com/Zsundy/p/9252646.html

浅析Unity 坐标系相关推荐

  1. 3DMax坐标系转换为Unity坐标系

    3DMax坐标系转换为Unity坐标系 3DMax是右坐标系,并且Z轴向上 Unity 是左手坐标系,并且Y轴向上 在导出FBX文件的时候3DMax是可以指定Y,Z轴向上的 问题是unity里面X轴会 ...

  2. unity 坐标系转换_Unity的几种坐标系及相互转换

    介绍 1.WorldSpace(世界坐标系) 当我们向场景中添加物体时,他们都是以世界坐标系的方式的方式显示在场景中的 通过transform.position可以得到它在世界中的坐标位置,trans ...

  3. Unity坐标系 左手坐标系

    x轴:从左指向右 y轴:从下指向上 z轴:指向屏幕里的是左手坐标系,指向屏幕外的是右手坐标系 记忆小技巧:都是X轴朝右,Y轴向上,跟平时画坐标一模一样,区别只是Z的朝向.你用手试一下就知道了,当大拇指 ...

  4. unity 坐标系转换_Unity3D之笛卡尔坐标系转换——屏幕坐标转换世界坐标,世界坐标转换相机坐标工具...

    因为要做AR的标记功能,所以就要用到坐标的转换,就总结了一下屏幕坐标.世界坐标.相机坐标之间的转换. 首先说明的是Unity3D遵从Direct3D标准的左手笛卡尔坐标系变换规则. 也就是说: 世界坐 ...

  5. 浅析Unity中的Enlighten与混合光照

    0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapp ...

  6. 浅析Unity协程实现原理

    介绍 协程Coroutine在Unity中一直扮演者重要的角色.可以实现简单的计时器.将耗时的操作拆分成几个步骤分散在每一帧去运行等等,用起来很是方便. 但是,在使用的过程中有没有思考过协程是怎么实现 ...

  7. Unity 中的坐标系

    参考 1.Shadow Map 原理和改进 2.[OpenGL]02 - OpenGL中的坐标系 3.矩阵理论 (这个是京东地址) 4.维基百科(文中的数学概念出处) 5.msdn mul 6.msd ...

  8. Unity中的混合光照

    Unity中的混合光照 Baked Indirect Shadowmask Distance Shadowmask Subtractive Reference Unity支持三种混合光照模式,分别是B ...

  9. World Locking Tools for Unity (三)原理部分

    World Locking Tools for Unity 坐标系 Spongy Space Play Space Locked Space Pinned Spcae Frozen Space Ses ...

最新文章

  1. 基恩士上位机链路通讯_【原创分享】ABB机器人与视觉控制器的通讯
  2. 汇编语言调用Linux系统调用
  3. 快速区域积分直方图实现
  4. Scala学习 day01 Scala的类/方法/对象/单例对象
  5. linux socket API / bind
  6. Django 下添加左侧字段显示和搜索
  7. 世纪互联云和华为共同打造的数据中心是一个很好的一步标志!
  8. java 抽象类 final_final/抽象类/interface
  9. UI必备!不同形式的图标设计灵感
  10. play home tifa_144Hz OLED屏手机 努比亚Play喜提Android 11_手机通讯
  11. mysql var目录很快_mysql数据库实现亿级数据快速清理的方法
  12. 监督学习-分类模型1-线性分类器(Linear Classifiers)
  13. 获奖感想和Java学习总结
  14. CCF大会腾源会专场即将召开,聚焦基础软件与开发语言未来发展
  15. 蚂蚁开放平台—获取支付宝用户信息
  16. math_求和号@累乘号的性质(变界)@求和恒等式
  17. 网龙携先进教育技术出海非洲
  18. shell jq 解析json包含点的key
  19. pointnet-pytorch代码运行
  20. java 大富翁 游戏下载_Java手机游戏大富翁源代码+注释JAVA游戏源码下载

热门文章

  1. springboot使用mybatis_使用springboot+mybatis数据库存储服务化
  2. int true python_python基本数据类型,int, str, bool及相关操作
  3. 刀剑神域动漫网页设计作品 学生表格布局网页作业成品 table漫画网站制作 dreamweaver静态HTML学生网页制作模板
  4. thinkphp 分页出错 $page-render() 出错
  5. ubuntu mysql自动备份文件_Ubuntu下开展MYSQL自动备份
  6. anaconda base环境_Mac系统下借助Anaconda为jupyter notebook添加多个python内核及相关操作...
  7. python优雅编程_Python优雅编程——Collections模块中的高性能数据类型
  8. Linux笔记-bash批量启动、停止、重启、查询状态指定Java进程(其他进行通用)
  9. Qt creator5.7 OpenCV249之图片腐化(含源码下载)
  10. python一切皆对象_Python中一切皆为对象