• InstantOC(对象渲染---游戏优化)


    一、渲染管线

    CPU做运算, GPU做图像处理

    流程解释

    CPU优先判断哪些物体需要进行渲染(摄像机视锥以内的物体进行渲染)【准备渲染数据】————》Untity图像API判断当前操作环境————》GPU将CPU的数据进行渲染————》显卡获取顶点数据————》由点成线在成面————》计算每一个面的像素————》对每一个像素进行上色————》写入到显卡缓存中

     

     

    缓存

    Draw Call:每一帧渲染物体的次数(游戏面板的state状态)

    二、occlusion Culling(遮挡剔除)

    即时遮挡剔除:当物体被送进渲染流水线之前,将摄像机角内看不到的我物体进行剔除,从而减少每帧渲染数据量,提高渲染性能。

     

    使用第三方插件:inseantOC

    原理:在摄像机的视锥以内发射多条射线,照射在对应层级的物体之上,未照到的物体不进行渲染

    属性

    优缺点

    优:将摄像机角内看不到的我物体进行剔除,从而减少每帧渲染数据量,提高渲染性能。

     

    缺:cpu会存在额外开销

    使用性

    在场景中存在大量且密集的物体时使用遮挡剔除

     

    三、LOD(多细节层次)Lenvels of Detail

    描述:lod技术指根据物体模型的节点在显示环境中所处位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,重而获得高效率的渲染运算(远模型low,近就精细)【减少的3角面数和顶点数】

    准备3个模型,精模,中模,低模

    名字为lod_0 lod_1 lod_2

    步骤

    1.创建层

    2.创建空物体并将模型添加到其中,命名为:lod_0,lod_1,lod_2

    3.为父物体指定层与标签

    4.父物体或子物体添加碰撞器组件

    5.摄像机附加脚本IOCcam

    优:减少渲染开销,加快物体渲染速度

     

    缺:增加内存占用量

     

    实用性:存在高精度的物体模型

  • 相关阅读:
    [Deep-Learning-with-Python] Keras高级概念
    [Deep-Learning-with-Python]计算机视觉中的深度学习
    求数值的n次方根
    caffe dropout解读
    Paper Mark2
    分组卷积+squeezenet+mobilenet+shufflenet的参数及运算量计算
    SSD总结
    sed例子
    Ubuntu 16.04安装MySQL设置远程访问出现问题的完美解决方案(error:10061)
    解决Python-OpenCV中cv2.rectangle报错
  • 原文地址:https://www.cnblogs.com/LanHai12/p/15258137.html
Copyright © 2020-2023  润新知