IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity坐标系入门 -> 正文阅读

[游戏开发]Unity坐标系入门

🚀 优质资源分享 🚀

学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

一、坐标系的概念

Unity 世界坐标系采用左手坐标系,大拇指指向X轴(红色),食指指向Y轴(黄色),中指向手心方向歪曲90度表示Z轴(蓝色),同时Z轴也是物体前进方向,下图表示Unity的四种坐标系:

其中GUI和Screen的单位是像素单位,什么是像素单位呢,这里可以先了解一下像素相关知识:

**像素:**简单地来说,可以理解成一个方块,它是图像的最小单元,不能再分割,但它并没有固定的大小。

**屏幕分辨率:**指的是由像素组成的点阵,比如说一台电脑的屏幕分辨率为1920*1080,那么该电脑屏幕在横向有1920个像素,纵向有1080个像素。

谈及像素和分辨率,还有一个概念叫做PPI,什么是PPI呢?

**PPI:**每英寸像素数目,可以理解为屏幕像素密度

因为像素并没有固定的大小,所以,PPI 越高,像素大小越小,也就越清晰。具体的计算公式如下:

所以可以知道,在购买显示器的时候,同是2K屏,24寸的是要比27寸的更清晰一些,因为PPI更高。

回到正题,比如我的电脑的分辨率是1920*1080,那么其X轴最大单位就是1920,Y轴最大单位就是1080。

了解了GUI、世界和屏幕坐标系后,Viewport坐标系其实没什么好说的,只是进行了归一化。

二、Screen坐标系和World坐标系的换算

在进行换算前,需要知道Camera相机的概念,相机又分为正交视图(orthogonal)、透视视图(perspective)。

一般2D游戏采用正交视图,3D游戏采用透视视图。

1、正交视图

2、透视视图

1、2D坐标系换算(正交视图)

在上述示例中用到的天空背景图的分辨率是40962048,但是有个地方很奇怪,Unity显示该图分辨率是20481024,实际是4096*2048。

如果想要背景图填充满整个屏幕,可以将游戏视图分辨率设置为图片分辨率,然后还需要设置相机大小:

**相机大小(size):**采用世界坐标系单位,为屏幕半宽。(所以相机大小为2048/2/100=10.24)

**Pixels Per Unit:**每多少像素为一世界坐标系单位。

这里我们应该知道屏幕坐标系的范围是(0,0)到(4096,2048),那世界坐标系范围是什么呢?

世界坐标系的原点和范围受到相机的影响,若相机的位置为(0,0),并且没有发生旋转,那么世界坐标系的原点就在屏幕正中心,其范围是(-20.48,-10.24)到(20.48,10.24)。

2、3D坐标系换算(透视视图)

3D坐标系换算相对更复杂一点,如下实例:

相机位于(0,0,-16),且视野角度为60度,帽子位于(0,6,0),且都没有发生旋转,那么其在Y轴上的分辨率既可以推算出来。

同理,其在X轴上的分辨率也可以算出来。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:54:29  更:2022-11-05 00:55:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/22 19:25:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码