当前位置: 首页 > news >正文

安徽网站建设网络公司谷歌浏览器下载手机版安卓

安徽网站建设网络公司,谷歌浏览器下载手机版安卓,dw个人主页模板,互联网平台搭建文章目录 前言一、动态合批的规则1、材质相同是合批的前提,但是如果是材质实例的话,则一样无法合批。2、支持不同网格的合批3、动态合批需要网格支持的顶点条件二、我们导入一个模型并且制作一个Shader,来测试动态合批1、我们选择模型的 Mesh…

文章目录

  • 前言
  • 一、动态合批的规则
    • 1、材质相同是合批的前提,但是如果是材质实例的话,则一样无法合批。
    • 2、支持不同网格的合批
    • 3、动态合批需要网格支持的顶点条件
    • 二、我们导入一个模型并且制作一个Shader,来测试动态合批
    • 1、我们选择模型的 Mesh ,可以查看模型的顶点信息
    • 2、我们先来测试一下 300 个顶点限制的动态合批
    • 3、我们来测试一下Shader中使用了 Position、normal 、uv0 、uv1 和 tangent 最多只能180个顶点以下的动态合批


前言

我们来解析一下上篇文章中提到的 Batching 中的 动态合批

  • Unity渲染Stats分析

一、动态合批的规则

在这里插入图片描述

动态合批是Unity默认去执行的,我们无法控制中间的步骤,我们只能按照Unity指定的规则去做

1、材质相同是合批的前提,但是如果是材质实例的话,则一样无法合批。

什么情况下会产生材质实例呢?
在之前使用协程控制Shader材质变化的文章中,修改材质使用 .material 来修改会导致生成材质实例

  • Unity中C#使用协程控制Shader材质变化

2、支持不同网格的合批

3、动态合批需要网格支持的顶点条件

  • 单个网格最多 300 个顶点,900个顶点属性。(顶点属性的上限未来可能会调整)
  • 如果Shader中用到了网格的Position、normal 和 uv 的话,则最多300 个顶点
  • 如果Shader中用到了网格的Position、normal 、uv0 、uv1 和 tangent 的话,则最多是 180 个顶点
  • 负方向缩放会导致无法动态合批,早期Unity缩放不一致也会导致无法动态合批

这里的顶点属性,指的是 顶点位置信息、顶点法线信息、顶点切线信息 等这些属性


二、我们导入一个模型并且制作一个Shader,来测试动态合批

1、我们选择模型的 Mesh ,可以查看模型的顶点信息

在这里插入图片描述

可以在Mesh信息中,了解到入下信息:

  • 顶点有 200 个,占用 9.4k
  • 顶点属性包含Position,Normal,Tangent,UV0

2、我们先来测试一下 300 个顶点限制的动态合批

Shader "MyShader/P2_6_2"
{Properties{}SubShader{Tags { "RenderType"="Opaque" }LOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);return o;}fixed4 frag (v2f i) : SV_Target{return 1;}ENDCG}}
}
  • 我们给 这个顶点数小于 300 的模型,使用这个Shader材质,我们会发现只有两个批次

在这里插入图片描述

  • 我们复制一份该模型,因为使用了同一个材质,所以被动态合批了,还是只有两个批次

在这里插入图片描述

  • 我们创建一个新的球体,因为使用了不同的材质,所以现在渲染了3批次

在这里插入图片描述

  • 但是,我们给该球使用同一材质时,会发现还是使用了3个批次

原因是:该球体的Mesh顶点数超过了300,不支持动态合批

在这里插入图片描述

3、我们来测试一下Shader中使用了 Position、normal 、uv0 、uv1 和 tangent 最多只能180个顶点以下的动态合批

如果这几个属性只是在Shader的appdata中声明,并不算真正的用到该属性

Shader "MyShader/P2_6_2"
{Properties{_Color("Color",Color) = (1,1,1,1)}SubShader{Tags { "RenderType"="Opaque" }LOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;float3 normal : NORMAL;float3 tangent : TANGENT;float2 uv1 : TEXCOORD1;};struct v2f{float2 uv : TEXCOORD0;float4 pos : SV_POSITION;float2 uv1 : TEXCOORD1;float3 normal : TEXCOORD2;float3 tangent : TEXCOORD3;float3 worldPos : TEXCOORD4;};fixed4 _Color;v2f vert (appdata v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.worldPos = mul(unity_ObjectToWorld,v.vertex);o.uv = v.uv;o.uv1 = v.uv1;o.normal = v.normal;o.tangent = v.tangent;return o;}fixed4 frag (v2f i) : SV_Target{return i.worldPos.y * 0.15 + _Color;}ENDCG}}
}
  • 可以看出,虽然我们的物体还是之前的两个板凳。但是批次变成了3次。说明没有动态合批成功

在这里插入图片描述

http://www.15wanjia.com/news/6369.html

相关文章:

  • 大尺度做爰床视频网站教育机构在线咨询
  • 建免费网站广州网站优化费用
  • 网站建设平台合同模板下载电商网站开发平台有哪些
  • 网站后台中表格制作关键词首页排名优化公司推荐
  • 湖北城市建设职业技术学院网站怎样打百度人工客服热线
  • 济南网站建设阝力荐聚搜网做网页设计一个月能挣多少
  • wordpress 查看日志文件seo全站优化全案例
  • 做数学题挣钱的网站关键词seo排名
  • 织梦网站提示保存目录数据时报成品短视频网站源码搭建
  • 网页小游戏在线玩知乎重庆seo怎么样
  • 国外网站鞋子做的好的网站hao123上网从这里开始官方
  • 龙华企业网站建设公司2021百度模拟点击工具
  • 做建材外贸哪个网站比较好互联网营销培训
  • 上海个人做网站免费注册推广网站
  • wordpress 建立分类搜索引擎优化教程
  • 哪些公司的网站做的漂亮深圳百度公司地址在哪里
  • o2o网站建设公司百度收录量查询
  • 网站被k申述网络营销推广论文
  • 淘宝网站是哪个公司做的自媒体平台排名
  • 微软手机做网站服务器吗百度普通版下载
  • 专业性网站 ip宁波网络推广联系方式
  • 郯城做网站西安seo网站排名
  • 网站建设 企业观点seo站长助手
  • 宁津网站建设百度推广获客方法
  • 个人网站工商备案谷歌google中文登录入口
  • 网站建站公做运营的具体做什么
  • wordpress添加字体颜色西安seo
  • 网站建设规划书武汉网站建设方案优化
  • 网站上的小动画咋做百度网盘app下载
  • 中国互联网上网服务行业协会百度seo哪家公司好