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中物体的渲染顺序的更多相关文章

  1. 【Unity笔记】UGUI物体的渲染顺序

    ①不同Camera的Depth.(大在前,小在后)②同Camera的SortingLayer.(下在前,上在后)③同SortingLayer下的Order in Layer.(大在前,小在后)④同Or ...

  2. 在DirectX 中进行2D渲染

    http://flcstudio.blog.163.com/blog/static/756035392008115111123672/ 最近,我看到很多关于DirectX8在最新的API中摒弃Dire ...

  3. u3d中的INput

    属性 属性: 功能: 轴 (Axes) 包含当前工程的所有定义的输入轴:数目 (Size) 该工程中不同输入轴的数量,元素 0.1.... 是要修改的特定的轴. 名称 (Name) 在游戏启动器中以及 ...

  4. unity3d中物体的控制

    一.物体的循环移动和旋转 思路:通过对时间的计算,每隔一段时间让物体旋转,实现来回移动. float TranslateSpeed = 0.02f; float TranslateSpeedTime ...

  5. SKNode的渲染顺序

    [SKNode的渲染顺序] SKNode的zPosition属性,指定相对于其父视图的z轴坐标. The default value is 0.0. The positive z axis is pr ...

  6. KING_Unity学习之UGUI_Canvas渲染顺序以及层次关系总结

    http://blog.csdn.net/kingsea168/article/details/50252733 之前一直用NGUI开发界面,但看到现在的unity的新版本的UGUI也不错,这几天专门 ...

  7. U3D中GameObject.Find无法找到元件

    U3D中GameObject.Find 如果某元件SetActive(false)了,Find()无法找到 因为Find()只会帮你找出正在活动中的物件,所以在将物件关闭前,我们必须将此物件放至预先定 ...

  8. Unity3D中脚本的执行顺序和编译顺序

    http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与 ...

  9. 【转】Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)

    http://www.cnblogs.com/champ/p/execorder.html 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与 ...

随机推荐

  1. selenium-java,UI自动化截图方法

    截图方法: import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; impor ...

  2. Tomcat 运行 idea 编译好的 .class JavaWeb 项目

    对于新手来说,对于项目部署,有时候就是以为拷贝在idea控制台里面跑的项目放到tomcat里面的webapps里面跑就可以了,这仅仅限于静态项目..... 他不像PHP , 修改源码直接可以跑, 而J ...

  3. 【Python教程】《零基础入门学习Python》(小甲鱼)

    [Python教程]<零基础入门学习Python>(小甲鱼) 讲解通俗易懂,诙谐. 哈哈哈. https://www.bilibili.com/video/av27789609

  4. xunsearch开发流程(三)

    (一).编写项目配置文件 通过创建一个项目文件来创建一个新的项目cd /data/local/xunsearch/sdk/php/apptouch njw.ini文件内容如下 project.name ...

  5. cowboy的路由方式

    直接贴代码 route_helper.erl -module(route_helper). -export([get_routes/]). get_routes() -> [ {'_', [ % ...

  6. mysql索引相关理解

    1.索引是高效获取数据的数据结构, 2.唯一索引,索引值不重复unique create unique index 索引名 on 表名(字段) alter table 表名 add unique in ...

  7. FPGA时序优化简单窍门

    尽量用硬核,比如硬件乘法器,这个应该都知道. 结构上的pipeline,简言之就是“拆",最极端的情形是拆到源和目的Reg间只有基本的组合逻辑门,比如说~a & b之类...:当然F ...

  8. Juicer自定义函数

    首先,先写自定义的方法: function (sex) { ; ; var Range = Max - Min; var Rand = Math.random(); var res = (Min + ...

  9. 阻塞队列之五:LinkedBlockingQueue

    一.LinkedBlockingQueue简介 LinkedBlockingQueue是一个使用链表完成队列操作的阻塞队列.链表是单向链表,而不是双向链表.采用对于的next构成链表的方式来存储对象. ...

  10. 模拟admin组件自己开发stark组件之搜索和批量操作

    搜索相关,搜索的本质就是从数据库查询出来的数据过滤 用户自定义给出过滤条件joker.py list_display = ('id','title','price',) show_add_btn = ...