zoukankan      html  css  js  c++  java
  • 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

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

     

    缺:增加内存占用量

     

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

  • 相关阅读:
    计算机基础-day1
    Day3:Spring-JDBC、事务管理
    Day2:Spring-AOP
    Android------Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
    Day1:Spring-IoC、DI
    Spring MVC的一例低级错误:Element 'mvc:annotation-driven' must have no character or element information item [children]
    Java阶段小总结
    Day20:DOM(Document Object Model)
    Day13:IO流(补充内容:特殊流对象)
    Android自学路线
  • 原文地址:https://www.cnblogs.com/LanHai12/p/15258137.html
Copyright © 2011-2022 走看看