4020人加入学习
(18人评价)
[专题]Unity手游优化总概
价格 ¥ 9.90
会员免费学 购买课程

优化方面

一资源

动态物体(控制面片,骨骼 skinmesh 材质数量1-3 骨骼数量 

静态物体 (网格数量

animation

地形

tex 压缩格式

tex尺寸不要太大 

mipmap

音频压缩:背景音可以使用oggmp3 播放短的用wav和aif未压缩格式

二引擎

光源:控制光源数量  

光源设置:pixel light count 

相机设置:相机clipping plane

粒子特效(粒子总量,发射器数量,粒子大小

对于非常小的粒子,可在tex中去处alpha通道)

物理引擎优化:

碰撞体控制,优选box和sphere collider

渲染优化:alpha test和alphablend避免用

drawcall batching 

static batching

dynamic batching  

纹理合并

遮挡剔除  culling 

 

 

三 代吗

 

[展开全文]

1.美术资源:

  动态物体

  游戏主角、怪物、NPC

  控制片面数量  300-200

  控制Skinnned MeshRenderer 为1个

  控制材质数量 1-3个

  控制骨骼数量小于30根

 

 

[展开全文]

移动平台劣势:

体积小、功耗小、带宽小

性能优化:资源方面、引擎方面优化、代码方面优化。

美术资源:

动态物体(场景中可以移动的物体):

游戏主角、怪物、NPC

1.控制面片数量300—2000面,游戏中一般1500面可以创作出效果较好的模型

2.控制Skinned Mesh Render为一个

3.控制材质数量为1-3个(减少材质数量提高unity绘制的效率)

4.控制骨骼数量,小于30根(减少CPU计算消耗,在pc游戏中为50-60根)

静态物体(场景中不会移动的物体):

1控制网格顶点数量,小于500个

2标记为Static 

通过标记为静态unity会通过Static Batching对其进行优化

3Animation组件

不需要尽量不要添加

自带地形

控制地形的分辨率

地形高度图尺寸小于257

地形纹理中尽量使用少的混合纹理数目(尽量不要超过4个)

纹理数据:

1纹理格式(尽量采取压缩格式)

纹理尺寸(长宽小于1024,同时应该尽量小,够用就好)

2建议使用Mipmap

虽然它有可能增加程序的大小,但是会提高渲染效率。

音频数据:

1播放时间长的音乐,使用.ogg或者.MP3的压缩文件格式

2播放时间短的音乐,可以使用.wav或.aip格式的未压缩的格式

引擎相关优化:

光源设置

1在满足效果的前提下控制场景中光源的数量,尽量不要添加多余的灯光。

2控制Important光源的数目

尽量一个或者没有,个数越多drawcall越多,

3光源设置:

Pixel Light Count(1-2个)设置场景中的动态物体最多受几个光源的影响,但是改值不会影响Important灯光,如果动态物体设置有3个Important灯光,Pixel Light Count值为2,该动态物体仍然是受3个Important灯光的影响。

4相机设置

设置合理的剪切平面,根据不同的场景进行修改。Clipping Planes的数值

5粒子效果

屏幕粒子总数小于200个

每个粒子发射器所发射的粒子总数,建议不要超过50个,粒子大小如果可以的话,粒子的size尽量小,对于非常小的粒子,在其粒子纹理中去除Alpha通道。

6物理引擎优化

碰撞体控制:

尽可能使用Sphere Collider和Box Collider(这两种碰撞包含较少的顶点信息),避免使用Mesh Collider。

7渲染优化

尽可能避免使用Alpha Test和Alpha Blend,Alpha Test的性价比比较低,可以的话使用Alpha Blend来替代Alpha Test。(Alpha Test在pc上耗时较少,在移动端耗时较大)

将使用Alpha Test和Alpha Blend的像素数值降至最低。

8渲染优化

DrawCall Batching

Unity在渲染时可以将使用相同材质的物体合并,从而可以使用一个Draw Call来渲染他们,这称为DrawCall Batching。

理论上讲,Unity Batching的物体越多,则会得到更好的渲染性能。

Static Batching

针对静态物体进行Batching,对于几何数据的大小没有限制。

原理:静态VertixBuffer+动态IndexBuffer,将同种材质的物体合并在一个大的VertexBuffer中,运行时通过视锥剪切带来动态的改变IndexBufffer。

注意:使用Static Batching后会额外的增加内存开销来存储Batch后的数据。

Dynamic Batching

对于同种材质的动态物体,Unity会自动对其Batching。

原理:动态VertexBuffer+动态IndexBuffer

注意:目前只支持小于900顶点的网格物体,如果Shader里使用Position、Normal、UV三种属性,则只能Batch 300顶点以下的物体,如果使用Position、Normal、UV、UV1、Tangent等属性,则只能Batch 180顶点以下的物体。

缩放物体无法与非缩放物体进行Batch。

渲染优化:纹理合并Texture Patching

引擎相关优化:

遮挡剔除(Occlusion Culling)

代码相关优化:

通过编程方式,来提高代码的运行性能。

对于有的函数,则可以每隔几帧执行一次。

void Update()

{

if(Time.frameCount%6 == 0)

{DoSomething();}

}

通过使用InvokeRepeating函数实现定时调用,如,启动0.5s后每隔1s执行一次DoSmothing函数:

void Start()

{

InvokeRepeating(“DoSmothing”,0.5f,1.0f);

}

尽量少使用临时变量,特别是在Update OnGUI等实时调用的函数中。

void Update()

{

Vector3 pos;

pos = transfor。position;

}

可以修改为:

private Vector3 pos;

void Update()

{

pos = transform.position;

}

定时进行垃圾回收

void Update()

{

if(Time.frameCount%50 == 0)

{System.GC.Collection();}

}

优化数学运算,尽量避免使用float,而是使用int,特别是在手机游戏中,尽量少使用复杂的数学函数,比如sin、cos等函数

改除法为乘法。例如使用x*0.5f而不是x/2.0f

 

 

[展开全文]

Unity 3D游戏开发性能优化

用户可在以下几个方面进行优化:

  • 资源方面优化:美术资源
  • 引擎方面优化:unity内部优化
  • 代码方面优化:根据具体要求优化代码

美术资源方面包括:

  • 动态物体:游戏主角、怪物、NPC等

控制面片数量:面片

控制为个

控制材质数量:个(提高绘制性能)

控制骨骼数量:小于根

 

  • 静态物体

 

控制网格的顶点数:少于个

标记为(引擎内部就会使用进行优化)

 

  • 组件:如果不需要,尽量不要添加

 

  • 纹理数据

自带地形:控制地形分辨率、地形高度图尺寸小于

地形纹理中尽量是用烧的混合纹理数目:尽量不要超过个

纹理数据:纹理格式,采用压缩格式

纹理尺寸:长宽小于,同时应该尽量小够用就好

建议使用:虽然有可能会增加程序的大小,但会提高渲染效率

 

  • 音频数据

播放时间长的音乐如(背景音乐):可以使用或者的压缩文件格式

播放时间段的音乐:可以使用或者格式的未压缩格式

引擎相关优化:

  • 光源设置

在满足效果的前提下,控制场景中光源的数量,尽量不要添加冗余光源

 

在控制光源(实时刷新的)个或干脆没有,个数越多,越多

 

Pixel Light Count (动态物体受影响的光源)1-2个

 

  • 相机设置

设置合理的剪切平面,可根据不同的场景进行修改

 

  • 粒子特效

屏幕上的粒子总数建议小于个

每个粒子反射器所发射的粒子总数建议不超过个

粒子大小:如果可以的话。粒子的应该尽量小,对于非常小的粒子,在其粒子纹理中可以去除通道

 

  • 物理引擎优化

碰撞体控制:尽可能的使用和 (包含很少的顶点信息),尽量避免使用(顶点较多,计算复杂)

  • 渲染优化

尽可能的避免使用和,Alpha Test的性价比比较低,可能的话,使用Alpha Blend来代替

将使用和的像素数降至最低

 

DrawCall Batching:unity在渲染时,可以将一些物体合并,从而可以使用一个DrawCall来渲染他们,这称为DrawCall Batching。理论上讲,DrawCall Batching的物体越多,则会得到更好的渲染性能。

 

Static Batching : 针对静态物体进行Batching,对几何数据的打掉没有限制

原理:静态动态,将同种材质的物体合并在一个大的中,在运行时,通过视锥剪切来动态地改变

注意:使用后会额外的增加内存开销来存储后的数据。

 

Dynamic Batching:对于相同材质的动态物体,unity会自动对其进行Batching

原理:动态动态

注意:目前仅支持小于星甸的网格物体。 如果里使用、、三种属性,则只能顶点以下的物体,如果使用、、、、等属性,则只能顶点以下的物体。

缩放物体无法与非缩放物体进行

纹理合并

 

代码相关优化:

通过编程的方式,来提高下代码的运行性能。

对于有的函数,则可以每隔几帧执行一次

void Update(){

  •  
  •  
  •  
  •  

定时重复调用,如启动0.5秒后每隔1秒执行一次void Start{InvokeRepeating("DoSomething",0.5f,1f);}

少使用临时变量,尤其是Update实时调用中, 可以声明为私有类变量。

定时回收垃圾void Update{

if(Time.frameCount%50==0) System.GC.Collection();}

数学运算优化,少用float,多用int,少用sin,cos等函数,除法转为乘法(x/2.0f=>x*0.5f)

 

[展开全文]

美术资源优化——

动态物体:控制面数300-2000面片

      控制Skinned Mesh Render为一个

     控制材质数量1-3个

    控制骨骼数量小于30根

静态物体:控制网格定点数少于500个

      去除不需要的Animation

   控制地形分辨率,地形高度图尺寸小于257

地形纹理中尽量使用少的混合纹理数目4个以内

  纹理贴图尽量采取压缩格式

  纹理尺寸长宽小于1024,尽量小。

  建议使用MipMap,提高渲染效率。

音频数据:播放时间长的音乐(背景音乐)使       用.ogg或.mp3压缩文件格式

  播放时间短的音乐使用.wav或.aif格式的   未压缩格式

引擎优化——

光源设置:控制Important光源数目,个数多        drawcall多,最好一个都不用。

  Pixel Light Count 1-2个

相机设置:根据不同场景修改合理的剪切平面

  粒子总数建议小于200个,尺寸尽量小,非   常小的粒子去除Alpha

物理引擎优化:避免使用Mesh Collider

渲染优化:避免使用Alpha Test和AlphaBlend

   DrawCall Batching,多个物体使用同一    材质,渲染时可以使用一个DrawCall。

  Static Batching,针对静态物体进行合并   (注意:会额外增加内存来存储Batching   后的数据)

  Dynamic Baching,对于相同材质的动态物   体进行Baching(仅支持小于900定点的物   体)

  Texture Batching,文理合并。

  遮挡剔除,摄像机视锥上被遮挡的物体剔   除掉。

代码优化——

可以每隔几帧执行一次void Update{if(Time.frameCount%6==0) DoSomething();}

定时重复调用,如启动0.5秒后每隔1秒执行一次void Start{InvokeRepeating("DoSomething",0.5f,1f);}

少使用临时变量,尤其是Update实时调用中。

定时回收垃圾void Update{

if(Time.frameCount%50==0) System.GC.Collection();}

数学运算优化,少用float,多用int,少用sin,cos等函数,除法转为乘法(x/2.0f=>x*0.5f)

[展开全文]

mipmap

drawcall

pass

alpha test      alpha blend

drawcall batching

Texture patching

[展开全文]

动态物体 300-2000个面片

静态物体的网格 少于500个。

Animation 如果不需要就不要添加。

自带地形的分辨率小于257 。

材质数量 1-3个材质

纹理尽量采用压缩格式,纹理尺寸小于1024 。

建议使用mipmap .

音乐 : 时间长的用ogg或者mp3 格式,短的使用WAV 格式的。

光源 important 光源不要太多。

Pixel Light 1-2个。

相机的设置。

粒子: 小于200个粒子总数

碰撞 :尽量使用球形碰撞器和盒子碰撞器,避免使用Mesh Collier 。

DrawCall Batching :unity在渲染时,可以将一些物体进行合并。从而使用一个drawcall 来渲染。

代码优化:有的函数每隔几帧执行一次。

使用重复函数。尽量少使用临时变量,特别是在update 和OnGUI 函数里面。定时垃圾回收。优化数学运算。

[展开全文]

三个方面优化

资源方面

引擎方面

代码方面

 

美术资源方面

动态物体

控制面片数量 300 - 2000

控制skinned mesh为一个

控制材质数量1-3个

控制骨骼数量小于30根

静态物体{

控制网格的顶点数小于500个

标记为static,static batching底部会优化

animation组件 尽量不要附加

纹理{

自带地形 控制分辨率 地图高度尺寸小于257

地形纹理中使用更少的混合纹理数目 不要超过四个

纹理格式采用压缩格式

纹理尺寸小于1024

建议使用mipmap,虽然会真增加程序的大小但是会提高渲染效率

音频{

播放时间长的音乐使用 ogg mp3

时间比较短的 用 wav aif

 

引擎方面优化

光源设置{

满足效果的前提下控制灯数量

控制important光源的数目

尽量1个或者干脆没有

个数越多drawcall越多

在light选项render mode下可选

pixel light count可以控制受影响的灯光的数量

选项在 Quality Setting 》 Pixel Light Count

相机设置 {

设置合理的裁切范围

粒子优化{

屏幕上的粒子总数不超过200个

建议每个粒子发射器发射的总数不超过20个

粒子的size尽可能小,对于非常小的粒子可以去除粒子贴图中的alpha

物理引擎优化{

碰撞体优化尽量使用球形盒子碰撞 避免使用mesh collider

渲染优化{

避免使用alpha test与alpth blend

如果使用使用alpth代替alpha test,如果无法代替将alpth test的像素降低到最小

 

DrawCall Batching unity在渲染时可以将一些物体合并,从而使用一个drawcall

static batching 对静态物体batching 对几何数据没有大小限制,原理 静态verterx+动态index buffer 将同种材质合并在一个大的vetexbuffer中,注意 使用stati cbatching会增加内存开销来储存batch后的数据

dynamic batching 对于动态物体unity会对其自动batching,原理 动态vertexbuffer+indexbuffer 注意,目前仅支持小于900顶点的网格物体,如果shader里使用position,narmal,uv三种属性,则智能batch 300顶点以下的物体,如果使用position,normal,uv,uv1,tangent等属性则只能batch180顶点以下的物体

缩放物体无法与非缩放物体进行batch

纹理合并texture batching

遮挡剔除 

代码优化方面

如每隔x帧数调用一次 Time.frameCount%x==0

在启动.5秒后每隔1秒执行一次

InvokeRepeating("DoSometing",.5f,1f)

 

尽量使用乘法而不是除法

 

 

[展开全文]

优化方面:

资源优化:

动态物体(游戏主角。怪物。NPC等)【控制面片数量在300到2000面片,MeshRender控制为1个,材质可以控制在1-3个,控制骨骼数量小于30根】,静态物体(网格数少于500,静态物体可以勾选上优化),纹理数据(压缩格式,使用Mipmap),音频数据(长:使用压缩OGG,MP3,短:wav,aif)

引擎优化:相机,灯光,粒子,物理引擎(Box 避免使用MeshCollider)..DrawCall Batching

代码优化

[展开全文]

美术资源

动态物体:

游戏猪脚

控制面片数量

300~2000面

控制SKinned meshRender为1个

控制材质数量

1~3个 即绘制3次

控制骨骼属性 小于30根

静态物体

控制网格顶点数 500个

尽量编辑为Static Batching进行优化

Animation 如果不需要,尽量不要附加

自带地形

控制地形的分辨率 地形高度图尺寸小于257

地形纹理中尽量使用少的混合纹理数目

尽量不要超过4个

纹理数据

纹理格式尽量采取压缩格式

纹理尺寸长宽小于1024,尽量小 够用就好

建议使用Mipmap

虽然有可能会增加程序的大小,但会提高渲染效率

音频数据

长时间.ogg .mp3 压缩文件格式

短时间.wav .aif未压缩格式

 

 

 

引擎优化

光源设置

满足效果前提下,控制场景中光源的个数

控制Important光源数目 尽量一个或干脆没有

个数越多,drawcall越多

Pixel Light Count 1~2个 不会影响Important光源...

设置合理的剪切平面

粒子特效

通过使用InvokeRepeating函数实现定时重复调用。例如:启动0.5秒后每隔1秒执行一次DoSomething函数

InvokeRepeating("DoSomeThing",0.5f,1.0f)

 

 

对于有些函数,可以每隔几帧执行一次

Void Update()

{

if(Time.frameCount%6==0)

{

DoSomething();

}

}

 

 

 

 

 

 

[展开全文]

资源优化

    动态物体:主角、怪物、npc

          面数 300~2000

          角色对应渲染器为1个

          材质数据 1~3

          骨骼数量 <=30

    静态物体

          网格顶点数 <=500

          静态物体标记为Static

          如果无需动画组件,不附加

    自带地形

         分辨率 <=257

         尽量少混合纹理 <=4

    纹理

         尽量采用压缩格式

         长宽 <=1024

         使用 Mipmap,可能增加大小,但会提高渲染效率

    音频数据

         长 ogg mp3 压缩

         短 wav aif 未压缩

引擎优化

     光源

         满足效果时,控制数量,尽量不冗余

         控制Important光源数量 <=1

代码优化

         控制非Important光源 Pixel Light Count <= 2

    相机

         设置合理裁剪平面Clipping Plane

    粒子

         总数 <= 200

         但发生器粒子总数 <= 50

         尺寸劲量小

         非常小粒子去除aplha通道

   物理引擎

         碰撞体 尽量使用球形碰撞体和盒子碰撞体,避免mesh碰撞体(顶点)

   渲染

         尽量避免Alpha Test和Aplha Blend

         无法避免,将像素数降至最低

         DrawCall Batching 可以合并物体进行渲染

         静态 Static Batching 静态物体使用静态batching

         动态 Dunamic Batching  

         纹理合并 Texture Pathcing

         遮挡提出 

代码优化

    有的函数,可以每隔几帧执行一次(避免随时变化)

    使用invokeRepeating,进行定时重复调用

    实时方法中尽量少使用临时变量,可以声明为私有类变量

    可以定期帧数,进行垃圾回收

    优化数学运算,尽量避免使用float,而使用int。

    尽量少使用复杂数据函数

    改除法为乘法

[展开全文]

1.美术资源方面

动态物体:

  1. 300-2000面片
  2. 控制Skinned Mesh Render为1个
  3. 控制材质数量1-3个
  4. 骨骼数量小于30根

静态物体:

  1. 网格顶点少于500个
  2. 标记为static
  3. 如果不需要Animation组件

自带地形:

  1. 地形的高度分辨率小于257
  2. 地形纹理数尽量不要超过4个 

纹理数据:

  1. 尽量采用压缩格式
  2. 长宽小于1024,PC可以大于20148
  3. 建议使用Mipmap,虽然会增加程序的大小,但是会提高渲染效率

 音频数据:

  1. 长音乐用mp3,ogg
  2. 短音效用wav

2.光源设置

  1. 控制Important光源的数目,个数越多,draw call越多
  2. Pixel Light Count为1-2个

3.相机设置

设置合理相机的剪切平面

4.粒子特效

  1. 屏幕粒子总数小于200个
  2. 每个粒子发射器所发射的粒子总数不要超过50个
  3. 粒子的size应该尽量的小
  4. 对于非常小的粒子,在其粒子纹理中可以去除Alpha通道

5.物理引擎优化

1.碰撞体控制:

避免使用mesh Collider

2.渲染优化

尽可能避免使用Alpha Test和Alpha Blend

DrawCall Batching

Static Batching

纹理合并Texture Patching

遮挡剔除(Occlusion Culling)

 

 

 

 

[展开全文]

美工优化:

动态物体 - 游戏主角,怪物,NPC等

  1. 控制面片数量,300-2000面片(一般使用1500)
  2. 控制Skinned mesh Render数量为1个
  3. 控制材质数量 - 1-3个
  4. 控制骨骼数量 - 小于30根
    PC游戏数量一般为15-60根

静态物体 - 一般静态物体

  1. 控制网格顶点数 - 小于500个
  2. 标记为Static
  3. Animation组件 - 如果不需要,尽量不要附加

自带地形

  1. 控制地形的分辨率 - 地形高度图尺寸小于257
  2. 地形纹理中尽量使用少的混合纹理数目 - 尽量不要超过4个

纹理数据

  1. 纹理格式 - 尽量采取压缩格式
  2. 纹理尺寸 - 长宽小于1024,同时应该尽量小够用就好.
  3. 建议使用Mipmap - 虽然Mipmap有可能会增加程序的大小,但会提高渲染效率.(增加原纹理的33%)

音频数据

  1. 播放时间比较长的音乐(背景音乐) - 可以用ogg或MP3的压缩文件格式 
  2. 播放时间比较短的音乐 - 可以使用wav或aif格式的未压缩格式.

引擎方面优化

*)光源设置

  1. 在满足效果的前提下,控制场景中,光源的个数,尽量不要添加冗余光源.
  2. 控制Important光源的数目 - 尽量1个或干脆没有,个数越多,Drawcall越多.
  3. Pixel Light Count - 1~2个

*)相机设置

  1. 设置合理的剪切平面,可根据不同的场景进行修改.

*)粒子特效

  1. 屏幕上的粒子总数 - 建议小于200个粒子.
  2. 每个粒子发射器所发射的粒子总数 - 建议不超过50个.
  3. 粒子大小 - 如果可以的话,粒子的Size应该尽量的小.
  4. 对于非常小的粒子,在其粒子纹理中可以去除Alpha通道

*)物理引擎优化

  1. 碰撞体控制 - 尽可能的使用Sphere Collider和Box Collider,尽量避免使用Mesh Collider.

*)渲染优化

  1. 尽可能的避免使用Alpha Test和Alpha Blend - Alpha Test的性价比比较低,可能的话,使用Alpha Blend 来代替Alpha Test.(将使用Alpha Test和Alpha Blend的像素数降至最低)
  2. DrawCall Batching - unity在渲染时,可以将一些物体合并,从而可以使用一个DrawCall来渲染它们,这称为DrawCall Batching.(理论上讲,unity Batching的物体越多,则会得到更好的渲染性能).
  3. Static Batching - 针对静态物体进行Batching,对几何数据的大小没有限制,原理:静态VertexBuffer+动态IndexBuffer,将同种材质的物体合并在一个大的VertexBuffer中.在运行时,通过视锥剪切来动态的改变IndexBuffer,注意:使用Static Batching后会额外的增加内存开销来存储Batch后的数据.
  4. Dynamic Batching - 对于相同材质的动态物体,unity会自动对其进行Batching.原理:动态VertexBuffer+动态IndexBuffer,注意:目前仅支持小于900顶点的网格物体.如果Shade里使用Position,Normal,UV三种属性,则只能Batch 300顶点以下的物体,如果使用Position、Normal、uv、uv1、Tangent等属性,则只能Batch 180顶点以下的物体.(缩放物体无法与非缩放物体进行Batch)
  5. 纹理合并Texture Patching
  6. 遮挡剔除(Occlusion Culling)

代码优化:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[展开全文]

1、资源优化
    。动态物体:300-2000面片,Skinned Mesh Render为1个 ,材质数量1-3个
    。静态物体:顶点数500以内, 标记为Static,尽量不加Animation组件
    。自带地形:高度图尺寸小于257,混合纹理不超过4个
    。纹理格式:尽量采用压缩格式
    。纹理尺寸:长宽小于1024,尽量小
    。建议使用Mipmap,会增加程序大小33%,但会提高效率
    。音频数据:长时间使用ogg或mp3等压缩格式,短时间使用wav或aif等未压缩格式

2、引擎优化
     。光源设置:控制光源个数,控制Important光源数量(1个或不要,因为DrawCall太多),Pixel Light Count为1-2个
    。相机设置:设置合理的剪切平面(Near、Far等参数)
    。粒子效果:屏幕上粒子总数<200个,每个粒子发射器发射总数<50个,粒子Size尽量小,非常小的粒子,其纹理中可以去除Alpha通道 
    。物理引擎:使用Sphere Collider和Box Collider,避免使用Mesh Collider
    。渲染优化:避免使用Alpha Test和Alpha Blend,如果要用就Alpha Blend,并将像素数降至最低
    。DrawCall Batching:渲染时,将一个物体合并,使用1次DrawCall
    。Static Batching:标识为静态即可,相同材质的自动合并,合并后物体增加内存开销
    。Dynamic Batching:相同材质物体,自动合并(物体<900顶点),根据Shade使用属性不同,合并顶点数降为300、180顶点。
    。纹理合并:Texture Patching
    。遮挡剔除

3、代码优化
    。函数可以每隔几帧执行一次(在Update中判断执行,Time.frameCount%6==0)
    。使用InvokeRepeating函数定时重复调用函数
    。尽量少使用临时变量,特别在Update等实时调用函数中
    。定时进行垃圾回收:System.GC.Collection()
    。尽量避免使用float,少用sin、cos等函数
    。改除法为乘法:x*0,5f替换x/2.0f

[展开全文]

 Skinned Mesh Renderer 蒙皮的网格渲染器 

Mipmap

[展开全文]

美术资源方面

动态物体

静态物体(Animation:如果不需要,尽量不要附加)

纹理数据

音频数据

 

引擎相关优化

光源设置

[展开全文]

授课教师

讲师

课程特色

视频(1)

学员动态