Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2150.00元

UWA

检测AB包资源重复率

 

[展开全文]
言身寸 · 2018-12-23 · 0

遮挡剔除这节感觉siki老师说错了,老师演示的不是遮挡剔除的真正功效,而是视锥体剔除。

视锥体剔除:只渲染视锥体内物体,视锥体外不渲染。任何一个普通的camera都带有视锥体剔除的功能,而且与物体是否static无关。

遮挡剔除:近处大物体完全遮挡住远处的小物体,则对远处小物体的渲染时无用的,所以遮挡剔除远处小物体,这里要求物体static属性最少为Ocludder Static。

[展开全文]
Julian0520 · 2018-10-18 · 2

MeshFilter 

CombineInstance[] 来得到MeshFilter []中的Mesh

用CombineMeshes得到CombineInstance[]中的Mesh

[展开全文]
J博士 · 2018-09-03 · 0

减少shader中不必要的pass方法块

[展开全文]
J博士 · 2018-08-31 · 0

UWA性能优化工具

[展开全文]
J博士 · 2018-08-01 · 0

减去不必要的上下面

[展开全文]
J博士 · 2018-08-01 · 0

减少线面

多面体的角减少线

[展开全文]
J博士 · 2018-07-31 · 0

动态模型,静态模型,音效,材质,shader

[展开全文]
J博士 · 2018-07-31 · 0

1.合并的网格:条件至少是:同材质、同贴图、同shader。最好网格顶点格式也一致

2.尽量避免使用大量小的网格,当确实需要时,考虑是否要合并。

3.避免使用过多的材质,尽量共享材质。

4.网格合并的顶点数量有上限(Unity中好像是65535)

5.合并本身有消耗,因此尽量在编辑器下进行合并

6.确实需要在运行时合并的,将静态的物体和动态的物体分开合并:静态的合并一次就可以,动态的只要有物体发生变换就要重新合并。

[展开全文]
J博士 · 2018-07-31 · 0

不使用的资源不要放在Resource目录下。

不使用的相同资源,如果都被引用,那么都会打包进资源包,造成冗余。

[展开全文]
J博士 · 2018-07-28 · 0

Lightmaping

选中所有的光照物体

选择Lightmap Static

Window-Lighting-setting

Mode选择为Baked

点击Generate Lighting烘焙

[展开全文]
J博士 · 2018-07-12 · 0

近的话显示精细的,远的话显示一半的

LOD GROUP组件

[展开全文]
J博士 · 2018-07-12 · 0

给一个空物体加上一个LOD Group组件

在LOG Group上有4个颜色,绿色 紫色 蓝色 红色

在每种颜色上都设置一个模型Prefab,绿色最精细的模型,红色是最粗糙的模型。

可以设置每个颜色区域的百分比。

这个LOG Group可以让摄像机看到的物体根据距离改变物体的不同形态,例如:精细形态、一般形态、粗糙形态,我们在离物体近的时候,就显示精细形态,所以绿色放一个精细的预制体,离物体越远就不用摆放那么精细了。这样来优化性能。

[展开全文]
Milk · 2018-07-02 · 0

遮挡视图:只渲染那些在视野内的物体,在视野外的就不进行渲染

将要遮挡的物体全部选中,然后选择Occluder Static之后,再去Occlusion Culling-Bake,选择摄像机,然后场景中只有这个摄像机可以看到的物体会被渲染出来。

[展开全文]
Milk · 2018-07-02 · 0

他妈的根本听不懂,连个字幕都没有。太糊弄了

[展开全文]
JayW · 2018-06-22 · 0

将已不会改动的代码脚本放在Plugins文件下,这样编译速度会加快,因为Unity编译C#脚本是要遍历所有C#脚本的,而唯独Plugins下的C#脚本它不管,所以可以加快编译速度。

[展开全文]
Milk · 2018-04-23 · 0

资源池:减少实例化次数,只在第一次使用的时候实例化,当这个预制体消失的时候是保存在资源池中,就是隐藏了它,再当你需要这个预制体的时候,检查资源池是否有这个预制体,如果有,拿出来显示就OK了,不需要实例化,从而优化性能。

[展开全文]
Milk · 2018-04-23 · 0

一个材质使用一个贴图,这样如果有很多贴图的话,那么就会有很多材质,那就意味着有很多Shader,CPU需要准备时间就越多,所以我们最好把贴图弄成图集,让材质都共用一个贴图,类似于我的世界那样。

阴影和光照分辨率、折射等都要渲染很多次,把这些特效取消掉可以优化性能。

合并网格要是同一个材质的物品网格才会优化,如果合并网格的物品材质不一样,那么合并之后材质数量还是一样那么多,并没有优化,材质一样即贴图一样,但是材质的选择贴图区域 可以不一样,这样可以用一个图集来作为贴图,让材质选择图集中不同区域的贴图,使得材质效果不一样,但是材质是一样的,因为这个材质用的是同一张图集(贴图)。

[展开全文]
Milk · 2018-04-23 · 0

  //创建一个空物体,最好Reset一下放在世界(0,0,0),空物体要带有MeshFilter组件(用于确定形状)和MeshRenderer组件(用于渲染)
        //下面是合并Mesh的代码
        //1.获取空物体下所有子物体的MeshFilter组件(这个组件用于控制物品的形状)Mesh是网格
        MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
        //2.创建合并实例体数组
        CombineInstance[] combineInstances=new CombineInstance[meshFilters.Length];
        //将合并实例体的网格和位置设置成子物体MeshFilter一样的
        for (int i=0;i<meshFilters.Length;i++)
        {
            combineInstances[i].mesh = meshFilters[i].sharedMesh;//这个sharedMesh是场景实例的Mesh,还有一个是Mesh是克隆Mesh
            combineInstances[i].transform = meshFilters[i].transform.localToWorldMatrix;//将子物体坐标转化为世界坐标系坐标
        }
        //创建一个网格
        Mesh myMesh = new Mesh();
        //将合并实例体们合并起来形成一个整体Mesh
        myMesh.CombineMeshes(combineInstances);
        //赋值给空物体,让空物体显示出整体
        GetComponent<MeshFilter>().sharedMesh = myMesh;
        //还要记得将MeshRenderer组件中的Material赋值好,不然显示的是粉红色

        //对比性能:优化了40%

[展开全文]
Milk · 2018-04-22 · 0

Lightmapping光照贴图

把灯光的实时渲染(计算),变成一个贴图一样贴在物体身上,模拟灯光效果。

方法:选择场景中(除了灯以及不需要灯光的物体)的所有物体,选择Lightmap Static,然后打开window-lighting-settings-Scene选项下的Debug Settings的Generate Lighting进行烘焙.

烘焙前需要将灯光Light的Mode改成Baked烘焙模式,才可以烘焙!

烘焙完之后,将灯光隐藏,若不做这一步的话,灯光烘焙的意义就没有了,灯光依然在占用着CPU

[展开全文]
Milk · 2018-04-22 · 0