当前位置:网站首页>Unity Shader 空间坐标系
Unity Shader 空间坐标系
2022-07-30 05:47:00 【Misaki_Me】
Unity Shader 空间坐标系
一个顶点坐标从模型到最终渲染到屏幕中需要经过顶点变换。其中顶点需要经过多个坐标空间的转换才能最终显示到屏幕上。
1. 模型空间
模型空间,是某个模型或者对象有关的。以这个模型的原点为参照物,每个模型都有自己的独立的坐标空间,当它移动或者旋转时,模型空间也会随之移动和旋转。模型空间也被成为对象空间或者局部空间。
模型空间的原点和坐标轴由美术人员在建模软件中定好。
2. 世界空间
世界空间是游戏中最大(最外层)的空间,类比到现实世界中就是经纬度和海拔(高度值)。世界空间描述基于世界原点的坐标,为游戏空间提供一个相对于世界原点的绝对位置。
顶点变换的第一个步骤就是将顶点坐标从模型空间转换到世界空间中,这个转换称为模型转换。
3. 观察空间(摄像机空间)
摄像机决定了渲染游戏所使用的视角。在观察空间中,摄像机位于原点,unity中观察空间采用右手坐标系,+x轴指向右方,+y轴指向上方,+z轴指向摄像机后方。
顶点变换的第二步就是将顶点坐标从世界空间转换到观察空间中。这个变换称为观察变换。
4.裁剪空间
裁剪空间是方便渲染的图元进行裁剪,对处于该空间内的图元进行渲染,而不处于该空间的图元进行剔除。裁剪空间由视锥体决定。
视锥体:视锥体指空间内的一块区域,该区域决定了摄像机可以看到的空间。视锥体由六个平面包围而成,这些平面称为裁剪平面。视锥体有两种类型,一种是正交投影,一种是透视投影。正交投影中,模型的渲染大小与离摄像机的远近没有关系,只与模型的基础大小有关。而透视投影中离摄像机越远的物体渲染出来就越小,模拟了人眼看世界的效果。
5.屏幕空间
屏幕空间就是最终显示到屏幕的空间,这时候我们会得到真正的像素位置,这个位置是屏幕的二维坐标。
边栏推荐
- 数码管动态显示及模块化编程
- 干货 | 什么是FOC?一文带你看BLDC电机驱动芯片及解决方案
- Kunlun On-state Screen Production (serial 1)---Contact
- Acwing Brush Questions Section 1
- ES6 syntax notes (ES6~ES11)
- [Punctuality Atom] Simple application of sys.c, sys.h bit-band operations
- 测试第一题
- IO进程线程->目录IO->day3
- 无法完成包的安装npm ERR! Refusing to install package with name “moment“ under a package also called “moment“
- 华秋电子成为开放原子开源基金会openDACS捐赠人,共建 openDACS开源生态
猜你喜欢

xxx is not in the sudoers file.This incident will be reported error

QT serial port dynamically displays a large number of data waveform curves in real time (5) ======== "Final perfect solution version"
![[Punctuality Atom] Learning and use of IIC (unfinished...)](/img/b7/325cad848eacee67c56c6cad321bd0.png)
[Punctuality Atom] Learning and use of IIC (unfinished...)

华秋第八届硬创赛与安创加速器达成战略合作,助力硬科技项目成长
![[Jiangsu University of Science and Technology Automation Association stm32F103c8t6] Notes [Initial 32 MCU and TIM timing interrupt initialization parameter configuration]](/img/22/9c0dd4390a98fa2aa4e45164c078cc.png)
[Jiangsu University of Science and Technology Automation Association stm32F103c8t6] Notes [Initial 32 MCU and TIM timing interrupt initialization parameter configuration]

IO进程线程->标准IO->day1

Real-time waveform display of CAN communication data based on QT (serial eight) ==== "Sub function or new class calls ui control"

华秋电子成为开放原子开源基金会openDACS捐赠人,共建 openDACS开源生态

多层板的层数,为啥选项都是偶数?就不能选奇数?

OpenLayers 初学者指南,源码测试可用
随机推荐
VSCode隐藏左边活动栏
Acwing Brush Questions Section 1
Three working modes of CPU: real mode, protected mode, long mode
信号链模拟芯片是什么?
四、6、前缀、中缀、后缀表达式(逆波兰表达式)
编程测试6.21
动态规划进阶 JS
【部分项目展示】
动态规划入门 JS
c语言编程练习
-----博客声明
快速排序学习记录
xxx is not in the sudoers file.This incident will be reported error
openssl 1.1.1 compile statement
【Exhibition of some projects】
删除当前路径下含某个关键字的所有文件
测试第一题
二进制到汇编:进制,原码反码补码,位运算,通用寄存器,内存一套打通
QT weekly skills (2)~~~~~~~~~ interface buttons
js高级学习笔记(详细)