• 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及其后的所有节点后移

  • 相关阅读:
    Atitit 数据库view视图使用推荐规范与最佳实践与方法
    Atitit mybatis快速开发 的sql api接口
    一个数据包经过路由器和交换机各会发生什么变化
    c preprocessor
    A database of opensource HTTP proxies written in python.
    google chrome os下载
    一道笔试题多字串查找
    一个老题:将正整数n分为若干num个不同的正整数之和
    web dev framework
    memory leakage
  • 原文地址:https://www.cnblogs.com/timeObjserver/p/9181827.html
Copyright © 2020-2023  润新知