欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

常用Shader 3D与天空盒 23:53

程序员文章站 2022-03-26 17:22:56
...

1)笔记

1)Unlit Shader(builtin-unlit)及其重要的参数: 大部分都是使用找个shader
  (1)Effect: 使用哪一个shader
     最高效的3D shader,效果最少,把一个3D模型最基本的显示出来-->Unlit == unlight 不受光照影响;
     只是把物体本来的样子显示出来;
     贴图-->3D模型上-->高效-->我们的微信小游戏unlit

  (2)Technique: 3D物体渲染对列:
     opaque: 不透明物体的渲染队列,把遮挡的剔除掉,一般角色都是非透明
     Transparent: 透明物体的渲染队列,透明物体的消耗大一点,你没办法把前面哪些剔除掉,因为是透明的,你还要混合前面的混合后面的

  (3)Pass: 只有一个pass(完整渲染流程)
      USE VERTEX COLOR: 是否使用顶点颜色
      USE TEXTURE: 是否使用纹理贴图
        FLIP UV: 是否翻转 一般不勾选

        TillingOffset:从哪一个偏移开始来贴的。 一张贴图可能重复好几次,除非有平铺纹理的时候用(如:贴地板砖)

        MainTexture: 指定贴图的资源-->没有纹理贴图,那么就是白白的这么个玩意,等绘制的时候,就把贴图贴到这个模型上;
        			指定贴图资源以后,每一个顶点又对应UV的这个坐标,那么上色的时候,会把贴图准确的上色到这个模型上;
        			为什么是平面的贴图还能贴到3D的物体上面呢?
 


  (4)USE COLOR: 加一点环境的颜色,勾选后,整个模型都偏红   

  (5)pipelineStates: 常用渲染管道的参数
    a: cullMode: cull模式-->踢出哪些三角形
        摄像机拍摄3D物体的时候,背面的总是被剔除掉,这样就可以少绘制一些三角形(背面  前面 不剔除)
        BACK:一般选择这个背对摄像机的面给剔除掉

    b: depthTest(是否开启深度测试)
      Less

    c: depthWrite(是否把像素写入到深度缓存)

2)纹理坐标,贴图的基本原理:
     当我们的美术做好了模型以后,你准备一张白纸,你把白纸包住这个模型,美术就给这个模型涂颜色,涂好以后你展开这张纸,
       就得到这张纹理贴图;
     你再把它包回去,我们有这么多三角形,没在每个三角形每个点打一个图钉,打完图钉拔掉,这张纹理贴图上面就会有很多小洞洞,
       每一个洞洞都会对应一个UV纹理(白纸)坐标,左上角0,0  右下角(1,1) 
       * 0 0


           * 1 1

3)Builtin Standard
  (1)是否使用顶点颜色
  (2)是否使用发现贴图: 3D的绘制技术,在不增加


  23: 53