位置: 编程技术 - 正文
推荐整理分享Unity3D教程宝典之Shader篇 基本知识(unity3d快速入门),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity 3d教程,unity3d基础教程,unity3d官方教程,unity3d2019教程,unity3d基础教程,unity3d官方教程,unity3d基础教程,unity3d官方教程,内容如对您有帮助,希望把文章链接给更多的朋友!
以下内容不需要入门的时候立刻阅读和理解,建议逐渐深入学习后,不时回来看看即可。
什么事GUP?
GUP:Graphic Processing Unit,中文翻译为“图形处理器”。显卡包括(GPU,显卡,显卡BIOS,显卡PCB板)
什么事Shader?
Shader程序:GPU执行,针对3D对象进行操作的程序
Shader有哪几种?
CG:与DirectX 9.0以上以及OpenGL完全兼容,运行时或是先编译成GPU汇编代码
HLSL:主要用于Direct3D,平台:Window
GLSL:主要用于OpenGL,平台:移动平台(IOS,Android),mac(only use when you target Mac Os X or OpenGL ES 2.0)
为什么Shader 中选择CG?
因为CG/HLSL比GLSL支持更多平台
Unity3D 里面CG输出什么?
Window平台:Direct3D,GPU汇编代码
Mac:OpenGL GPU汇编代码
Flash:flash GPU汇编代码
IOS/Android:Unity会将CG转换成GLSL代码
总结:也就是除了移动平台会把CG转换成GLSL代码,其余平台都是转换成汇编代码
什么是缓冲:
一个像素有如下缓冲:
颜色缓存Color buffer/Pixel buffer:储存该点即将显示的颜色,RGBA
深度缓存 Depth buffer/z buffer:存储该点的深度 z
模板缓存 Stencil buffer:通常用作限制渲染区域,更高级用法需结合深度缓冲,例如某像素的模板缓冲会随着其是否通过深度缓冲测试而改变
累积缓存 Accumulation buffer:与颜色缓冲累死,同样存储一个RGBA,累积缓存是为合成多幅图像而设计的,累积缓存提供了一种在保持好的颜色分辨率下实现在场景中“多重曝光(multiple exposures)”的方法,是用累积缓存可以产生许多图像效果来提高图像的真实性,其中包括:反走样,运动模糊,软阴影,深度域(景深)和卷积,要产生这些效果,必须将图像渲染多次,对场景位置(或所选物体)进行微小。渐增的改变,然后累积结果。
什么事图元装配(Primitive Assembly)
经过变换的顶点 被装配成几何图元
什么是光栅化(栅化,Rasterization)
栅化这个术语可以用于任何将矢量图形转换成栅图形的过程
在3D渲染中汉族要指:三角形等图元(矢量)转换成像素碎片的过程,或者说决定哪些像素几何图元覆盖的过程,光栅化的结果是像素位置的集合和片段的集合
什么事光栅造作(Raster Operation)
指在碎片fragment处理,在更新帧缓存前后执行的一系列操作,通过包括裁剪,深度测试,alpha测试,alpha混合等
碎片Fragment等于像素吗?
像素点:屏幕上能显示的最小图像单元
像素:帧缓存中某个像素点的内容,通常即指颜色
碎片:更新像素潜在需要的状态
碎片输出的是当前的fragment函数在这个像素点的颜色,并不代表这像素点的最终颜色,最后显示的颜色是这个点的所有碎片经过叠加等运算形成的最终结果
针对3D对象进行操作,并被GPU所执行的程序
什么事地形着色器(Geometry Shader)
几何着色器可以从多边形网中增删顶点,它能够执行对CPU来说过于繁重的生成几何结构和增加模型细节的工作。Direct3D 版本增加了支持几何着色器的API,成为Shader Model 4.0的组成部分,OpenGL只可通过它的一个插件来使用几何着色器,但极有可能在3.1版本中该功能将会归并,几何着色器的输出连接光栅化器的输入。但是并不实用
什么是Tessellation
针对DX,该技术需要消耗大量硬件资源,因此开发人员不会再场景中的每个地方都使用它,一般只考虑玩家视角近景和轮廓边缘,利用GPU硬件加速,将现有3D模型的三角形拆分的更细,更细致,也就是大大增加了三角形数量,使得渲染对象的表面和边缘更平滑,更惊喜
坐标系
计算机3D中,3D坐标系采用的主要是笛卡尔坐标系(Cartesian坐标系),也称直角坐标系
当x轴朝右,y朝上,z朝屏幕里的时候,为左手坐标系
当x轴朝右,y朝上,z朝屏幕外即朝向你的时候,为右手坐标系
所以,Unity使用的是左手坐标系
D3D 左手及裁剪空间(x,y,z,w) z=z/w 即 [0,1]
OpenGL使用右手,即裁剪空间里(x,y,z,w) z=(z/w1)/2 即[-1,1]
#pargame target 3.0:定义Shader模型为Shader Model 3.0
2.0 Direct3D 9 (默认缺省)。支持张贴图+个计算
3.0 Direct3D 9 支持张贴图个计算
4.0 只支持DirectX
5.0 只支持DirectX
文章载自风宇冲 风宇冲Unity3D教程学院
unity商店demo学习:俯视视角RPG游戏 一下所有素材和源码都来自unity商店的实例Top-DownRPGStarterKit,这个demo是unity商店上最好的入门级rpg游戏实例,麻雀虽小,五脏俱全,想要弄清楚一个标准
<Unity UGUI>使用c#反射实现UGUI文本显示的国际化 转载请标明出处:
uGUI实现遥感 好久没有写文章了,最近在做项目是用的unity最新的ui系统UGUI,项目需要做一个摇杆,网上大部分都是用的插件和NGUI做的摇杆,unity自带的摇杆也不怎么
标签: unity3d快速入门
本文链接地址:https://www.jiuchutong.com/biancheng/372805.html 转载请保留说明!友情链接: 武汉网站建设