U3D中物体的渲染顺序
1,由SHADER中渲染队列及队列中的值决定
2,在同一队列中,若材质相同
2.1 对于UI,按其在场景层级中的先后顺序绘制
2.2 对于3D不透明物体,按其离相机的距离,由近到远绘制,这样可以减少像素重绘
2.2 对于3D透明物体,按其离相机的距离,由远到近绘制,只有这要才能正确绘制所有半透明物体,反之,有些半透明物体将看不到半透效果
3,在同一队列中,若材质不同,绘制顺序不定,在framedebuger中,移动相机,可以看到绘制顺序不断变换。
举例:有两个不透明队列:20001(a,b,c三个物体,使用材质1,Z值由小到大),20002(e,f,g三个物体,使用材质2,Z值由小到大),让它们沿相机Z轴排成一排
当移动相机时,在framedebuger中查看6个物体的绘制顺序,可以看到绘制顺序不断变动如:
<a,b,c,e,f,g> < a,b,e,c,f,g> < e,f,a,b,c,g>
但不管怎么样变动,同一队列中的物体总是保持顺序不变,即a总在b前,b总在c前,e总在f前,f总在g前
一般情况下我们不需要关心相同队列物体绘制的先后顺序,但当需要处理zwrite, ztest, stenciltest时,就必须精确控制物体的绘制顺序,否则就实现不了想要的效果。如利用模板测试绘制镜子,必须先绘制镜子,将镜子区域的像素的模板值写为某个值X,然后绘制被镜子照到的物体(如果模板值为X则绘制,否则丢弃像素)。
4,物体上挂接的脚本的执行先后完全没有什么规律。只是确定的一点是: 若a的start先于b,c的start执行,则a.update也先于b.c的update执行
setsiblingindex(idx)设置兄弟结点先后顺序时,若idx处已有结点X,则结点X及其后的所有节点后移
U3D中物体的渲染顺序的更多相关文章
- 【Unity笔记】UGUI物体的渲染顺序
①不同Camera的Depth.(大在前,小在后)②同Camera的SortingLayer.(下在前,上在后)③同SortingLayer下的Order in Layer.(大在前,小在后)④同Or ...
- 在DirectX 中进行2D渲染
http://flcstudio.blog.163.com/blog/static/756035392008115111123672/ 最近,我看到很多关于DirectX8在最新的API中摒弃Dire ...
- u3d中的INput
属性 属性: 功能: 轴 (Axes) 包含当前工程的所有定义的输入轴:数目 (Size) 该工程中不同输入轴的数量,元素 0.1.... 是要修改的特定的轴. 名称 (Name) 在游戏启动器中以及 ...
- unity3d中物体的控制
一.物体的循环移动和旋转 思路:通过对时间的计算,每隔一段时间让物体旋转,实现来回移动. float TranslateSpeed = 0.02f; float TranslateSpeedTime ...
- SKNode的渲染顺序
[SKNode的渲染顺序] SKNode的zPosition属性,指定相对于其父视图的z轴坐标. The default value is 0.0. The positive z axis is pr ...
- KING_Unity学习之UGUI_Canvas渲染顺序以及层次关系总结
http://blog.csdn.net/kingsea168/article/details/50252733 之前一直用NGUI开发界面,但看到现在的unity的新版本的UGUI也不错,这几天专门 ...
- U3D中GameObject.Find无法找到元件
U3D中GameObject.Find 如果某元件SetActive(false)了,Find()无法找到 因为Find()只会帮你找出正在活动中的物件,所以在将物件关闭前,我们必须将此物件放至预先定 ...
- Unity3D中脚本的执行顺序和编译顺序
http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与 ...
- 【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)
http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与 ...
随机推荐
- 2019ICPC南昌邀请赛网络赛 I. Max answer (单调栈+线段树/笛卡尔树)
题目链接 题意:求一个序列的最大的(区间最小值*区间和) 线段树做法:用单调栈求出每个数两边比它大的左右边界,然后用线段树求出每段区间的和sum.最小前缀lsum.最小后缀rsum,枚举每个数a[i] ...
- HDU - 5942 :Just a Math Problem (莫比乌斯)
题意:略. 思路:问题转化为1到N,他们的满足mu[d]!=0的因子d个数. 即1到N的因子的莫比乌斯系数平方和. (经验:累加符号是累加的个数,我们把常数提到前面,然后用杜教筛累加个数即可. ht ...
- HDU1800 hash+去前导0
注意一:卡map的时间,但是好好写+运气还是可以卡过,哇...求人品爆发 注意二:去前导0,毕竟‘0’也有ASCII码 #include<cstdio> #include<cstdl ...
- mysql拼接多条查询结果并且加序列
SELECT GROUP_CONCAT(a.DESCRIPTION SEPARATOR '\n') FROM (SELECT (@rowNum:=0) AS rowNo,CONCAT('公司内 ...
- [BZOJ5329][SDOI2018]战略游戏
bzoj luogu Description 省选临近,放飞自我的小Q无心刷题,于是怂恿小C和他一起颓废,玩起了一款战略游戏. 这款战略游戏的地图由n个城市以及m条连接这些城市的双向道路构成,并且从任 ...
- ballerina 学习十一 Packages
ballerina 的包还是比较简单的,实际上就是对于源码文件集合的管理,同时我们可以添加别名,同时可以进行 其他包的引用 import 简单例子 代码 import ballerina/math; ...
- grpc xservice 使用
1. 安装(此处比较简单) dep 包管理 配置环境变量 GOPATH/bin GO/bin protoc 下载并配置环境变量 2. xservice 安装 a. 预备(一些需要的依赖) mkdir ...
- 【转】Linux(BASH)命令搜索机制
原文网址:http://www.mike.org.cn/articles/linux-linux-bash-command-search-mechanism/ 转自:Eric Cheung: Linu ...
- Spring整合JavaMail
1.添加jar包 #此处省略spring基础相关jar包描述,以下是发送邮件相关jar包 <dependency> <groupId>org.springframework&l ...
- 慢日志之二:ERROR 1146 (42S02): Table 'mysql.slow_log' doesn't exist,分析诊断工具之四
去查看最新的slow log,发现没有最新的记录,上去检查slow log是否开启了. MySQL> show variables like '%slow%'; +--------------- ...