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

企业网站的建立主要用于企业内部发布信息秦皇岛seo优化

企业网站的建立主要用于企业内部发布信息,秦皇岛seo优化,建设一个电商网站需要多少钱,中企动力网站开发前言 在Unity3D移动开发中,选择合适的Shader是非常重要的,它直接影响到游戏的性能和画面效果。本文将介绍如何依据性能选择Shader,并给出相应的技术详解以及代码实现。 对惹,这里有一个游戏开发交流小组,希望大家可以…

前言

在Unity3D移动开发中,选择合适的Shader是非常重要的,它直接影响到游戏的性能和画面效果。本文将介绍如何依据性能选择Shader,并给出相应的技术详解以及代码实现。

   对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!

一、了解Shader的基本概念

在Unity3D中,Shader是一种用于控制图形渲染的程序。它可以定义物体的颜色、光照、材质等属性。Shader由一系列的Shader Pass组成,每个Pass定义了一种渲染方式。在移动开发中,我们通常使用的是Surface Shader,它是一种高级Shader,可以方便地定义物体的外观。

二、性能选择Shader的原则

  1. 尽量使用简单的Shader

在移动设备上,性能是一个非常重要的考虑因素。因此,我们应该尽量使用简单的Shader,避免使用过于复杂的计算和纹理。简单的Shader可以提高渲染效率,减少绘制调用次数,从而提高游戏的性能。

  1. 避免使用动态的Shader特性

在移动设备上,动态的Shader特性(如透明度、反射等)会增加额外的计算和内存开销。因此,我们应该尽量避免使用这些特性,或者在性能要求较高的场景中禁用它们。

  1. 使用合适的纹理压缩格式

在移动设备上,纹理的内存占用是一个非常重要的因素。因此,我们应该选择合适的纹理压缩格式,以减少纹理的内存占用。常见的纹理压缩格式有ETC、PVRTC、ASTC等。

  1. 合理使用LOD(Level of Detail)

在移动设备上,LOD是一种非常重要的优化手段。它可以根据物体的距离调整物体的细节级别,从而减少渲染的开销。因此,我们应该合理地使用LOD,尽量减少不必要的细节绘制。

三、技术详解和代码实现

  1. 使用简单的Shader

在Unity3D中,我们可以使用Surface Shader来定义物体的外观。Surface Shader是一种高级Shader,可以方便地定义物体的颜色和光照等属性。下面是一个简单的Surface Shader的示例代码:

Shader "Custom/SimpleShader"
{Properties{_Color("Color", Color) = (1,1,1,1)}SubShader{Tags { "RenderType"="Opaque" }CGPROGRAM#pragma surface surf Lambertstruct Input{float2 uv_MainTex;};sampler2D _MainTex;fixed4 _Color;void surf (Input IN, inout SurfaceOutput o){fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;o.Albedo = c.rgb;o.Alpha = c.a;}ENDCG}FallBack "Diffuse"
}

在这个示例中,我们使用了Lambert光照模型,并定义了一个_Color属性来控制物体的颜色。在surf函数中,我们使用tex2D函数来获取纹理的颜色,并将其乘以_Color属性来计算物体的最终颜色。

  1. 避免使用动态的Shader特性

在移动设备上,动态的Shader特性会增加额外的计算和内存开销。因此,我们应该尽量避免使用这些特性,或者在性能要求较高的场景中禁用它们。下面是一个禁用透明度特性的示例代码:

Shader "Custom/NoAlphaShader"
{Properties{_Color("Color", Color) = (1,1,1,1)}SubShader{Tags { "RenderType"="Opaque" }CGPROGRAM#pragma surface surf Lambertstruct Input{float2 uv_MainTex;};sampler2D _MainTex;fixed4 _Color;void surf (Input IN, inout SurfaceOutput o){fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;o.Albedo = c.rgb;o.Alpha = 1; // 禁用透明度特性}ENDCG}FallBack "Diffuse"
}

在这个示例中,我们将物体的透明度设置为1,从而禁用了透明度特性。

  1. 使用合适的纹理压缩格式

在移动设备上,纹理的内存占用是一个非常重要的因素。因此,我们应该选择合适的纹理压缩格式,以减少纹理的内存占用。下面是一个使用ETC纹理压缩格式的示例代码:

Shader "Custom/ETCShader"
{Properties{_MainTex("Texture", 2D) = "white" {}}SubShader{Tags { "RenderType"="Opaque" }CGPROGRAM#pragma surface surf Lambertstruct Input{float2 uv_MainTex;};sampler2D _MainTex;void surf (Input IN, inout SurfaceOutput o){fixed4 c = tex2D (_MainTex, IN.uv_MainTex);o.Albedo = c.rgb;o.Alpha = c.a;}ENDCG}FallBack "Diffuse"
}

在这个示例中,我们使用了ETC纹理压缩格式来减少纹理的内存占用。

  1. 合理使用LOD

在移动设备上,LOD是一种非常重要的优化手段。它可以根据物体的距离调整物体的细节级别,从而减少渲染的开销。下面是一个使用LOD的示例代码:

Shader "Custom/LODShader"
{Properties{_MainTex("Texture", 2D) = "white" {}}SubShader{LOD 100Tags { "RenderType"="Opaque" }CGPROGRAM#pragma surface surf Lambertstruct Input{float2 uv_MainTex;};sampler2D _MainTex;void surf (Input IN, inout SurfaceOutput o){fixed4 c = tex2Dlod (_MainTex, float4(IN.uv_MainTex, 0, 0));o.Albedo = c.rgb;o.Alpha = c.a;}ENDCG}FallBack "Diffuse"
}

在这个示例中,我们使用LOD 100来表示在物体距离摄像机超过100个单位时,使用较低的细节级别来渲染物体。

总结

在Unity3D移动开发中,选择合适的Shader是非常重要的。我们可以根据性能要求选择简单的Shader,并避免使用动态的Shader特性。此外,我们还可以选择合适的纹理压缩格式和合理使用LOD来优化游戏的性能。希望本文对您在Unity3D移动开发中选择合适的Shader有所帮助。

 更多教学视频

https://www.bycwedu.com/promotion_channels/1928452950

http://www.hengruixuexiao.com/news/47720.html

相关文章:

  • 日照网红民宿班级优化大师下载安装
  • 哪些企业会考虑做网站厦门seo怎么做
  • php网站开发技术课程一个公司可以做几个百度推广
  • 做的最好的美女视频网站百度竞价在哪里开户
  • 百度做的网站字体侵权吗上海疫情最新数据
  • 网站开发视频教程下载18款禁用看奶app入口
  • 专业的高密做网站的杭州优化外包
  • ps做汽车网站下载地址互联网营销师课程
  • 网站顾客评价百度浏览器在线打开
  • 北京知名网站设计公司ios微信上的pdf乱码
  • 任丘网站制作搜索引擎优化的基本内容
  • asp.net制作网站开发国内seo公司排名
  • html5新闻网站站长工具樱花
  • 医院网站建设方案详细综合权重查询
  • logo在线设计免费生成器网站关键词优化推广哪家好
  • 网站改版的方式大致有品牌整合推广
  • 公司宣传网站怎么做nba最新消息新闻
  • 建设股份公司网站网站分析培训班
  • 怎样做企业手机网站建设百度app推广方法
  • 四库一平台建筑企业资质查询sem和seo是什么
  • 电商网站商品排序分类怎么做软文营销的优势
  • 我想学网站建设凡科小程序
  • 处方药可以做网站吗公司seo是指什么意思
  • 做lol直播网站长沙网站优化价格
  • 现在清算组备案在哪个网站做搜索软件排行榜前十名
  • 无锡网站设计公司电话微信做单30元一单
  • 东莞疫情最新消息今天seo站长综合查询工具
  • 品牌型网站制作价格网络推广方法技巧
  • 用webstorm做静态网站扬州百度推广公司
  • ps做分享类网站效果图手机上可以创建网站吗