自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程小生的专栏

学习笔记

  • 博客(40)
  • 资源 (23)
  • 收藏
  • 关注

转载 Q&A——性能优化(二)

性能优化Q1:Draw Call和Setpass Call,这两个指标主要是看哪一个?关于这点众说纷纭,很多地方都是说看SetPass Call,但是在UWA的性能测试中,还是把Draw Call当成唯一指标。在 Unity 5.x 中,SetPass Call与 Draw Call相比,SetPass Call的指标与性能相关性更大(比如Static Batchi

2017-05-24 17:50:36 1072

转载 Q&A——资源管理(八)

资源管理Q1: 我使用Shader.WarmupAllShaders操作,在后续加载资源还是有CreateGPUProgram出现。(Shader都在一个AssetBundle文件中,都是常驻内存的,不会删掉)是必须使用ShaderVariantCollection来加载Shader吗?A:以上这种问题的较大可能是:Shader被打包到不同AssetBundle中了,WarmupA

2017-05-24 17:49:40 651

转载 Q&A——开发技巧(一)

开发技巧Q1:我移动一个物体从A点到B点,当到达B点后执行另一个事件。我现在是每帧计算物体到B点的距离,当距离小于某个值后算是到达,感觉有点浪费。有没有什么推荐的办法呢?如果每帧只进行一次距离上的判断计算,那么该耗时开销本身是很小的。当然,开发团队可以在B点放置一个Trigger,当A进入Trigger后,通过其回调函数来进行物体的后续操作。

2017-05-24 17:48:23 994

转载 Q&A——资源管理(七)

资源管理Q1:我想请教一下,下图这个函数中,每次我都申请了一个List temp = list();在这里存放6KB的数据,但是如果不做GC处理,这6KB是否就一直累加,直到做GC处理了才会释放掉,是这样么?如果调用次数很多,每次都调用一点点,也会推高内存占用吗?A:是的,这个6KB堆内存会随着Update的执行一直分配内存,所累积的堆内存会在GC触发时进行销毁。一般来说,研发

2017-05-24 17:47:45 796

转载 Q&A——内存管理(三)

内存管理Q1:有没有办法可以减少游戏中Mono内存占用的大小?我现在读完游戏表以后就占用了60MB,我看其他游戏读完配置表也才10MB左右,这个是怎么做到的呀?如果刚进入游戏后,Mono堆内存就达到了60MB,那么你的游戏项目极有可能在一开始加载了一个非常大的配置表。对此,我们建议出现该问题的研发团队对配置文件的初始加载进行详细检测,查看是否可以精简配置文件信息。如果不行,则尝试将

2017-05-24 17:45:45 519

转载 Q&A——资源管理(六)

资源管理Q1:请教个问题,我用Unity 5 里提供的Sprite Packer把A.png,B.png打进一张图集,在运行时我怎么方便地加载这两张图呢?使用场景:某个Image控件根据不同的条件显示A,或者显示B。目前通常是在脚本序列化信息中保留这两个Sprite的引用,在切换时直接通过对Image.sprite进行赋值来切换。资源管理

2017-05-24 17:44:58 411

转载 Q&A——UI输入(二)

UI输入Q1:关于UI的Mask遮挡特效,能否提供一些解决思路呢?目前由于UI与粒子系统是两个相对独立的模块,因此两者的Mask遮挡并没有简单直接的方法。我们建议从以下几种方式来考虑实现:将粒子系统转为序列帧,通过纯UI的方式来实现;通过RenderTexture,添加一个相机来实现方形的“裁剪”;参考UI的内置Shader,编写一个受Stencil B

2017-05-24 17:43:08 425

转载 Q&A——资源管理(五)

资源管理Q1:Unity中的SerializedFile是怎么产生的?请问用Unload(false)可以清除吗?因为读取了Bundle里面的内容后已经赋值给其他物体了。而且我把图片都打成了Bundle,然后读取出来,图片的大小应该是超过了这个SerializedFile的大小的?SerializedFile是AssetBundle加载时产生的序列化信息,一般为LoadFr

2017-05-24 17:42:30 527

转载 Q&A——资源管理(四)

资源管理Q1:Unity 5.x 能把指定集合的Mesh烘焙到一张Lightmap里吗?Unity 5.x 是没有这样的功能项的。据我们的判断,这样的需求通常是为了动态加载,因此可以尝试将Mesh分组到不同的场景分别烘焙。而在加载时可通过脚本动态地合并Lightmap,同时将物件的Lightmap Index进行正确的偏移即可。资源管理Q2:

2017-05-24 17:41:50 468

转载 Q&A——资源管理(三)

资源管理Q1:StreamingAssetPath 和 PersistantDataPath下可以不Load AssetBundle ,直接放资源Load吗?这是可以的,但非常有限。因为不通过 AssetBundle 加载,只能通过 Unity 提供的有限的接口来直接加载外部资源,如通过 WWW.audioClip 直接加载 mp3文件,通过 WWW.texture 直接加载

2017-05-24 17:40:47 749

转载 Q&A——资源管理(二)

资源管理Q1:Prefab中的GameObject的tag设置为EditorOnly仍然会被打进Resoures包吗?有其它EditorOnly方案吗?EditorOnly理论上只对场景中的 GameObject起效。因此 Project 目录中的 Prefab 打上 EditorOnly 后,放在 Resources 目录下依然会被打进游戏包中。但只要将其放在 Resourc

2017-05-24 17:40:07 734

转载 Q&A——图形渲染(二)

图形渲染Q1:以前端游时代,材质根据Pass不同、光照环境不同可以离线预编译成ShaderCache,运行时并不需要拼材质再实时编译,只要加载二进制代码就好了。那Unity有没有做这件事呢?我们是根据平台和环境预编译的Shader。对于支持 Binary Shader 加载的设备,在首次编译某个 Shader 的时候是会生成其对应的 Binary Shader Cache ,生

2017-05-24 17:39:26 607

转载 Q&A——性能优化(一)

性能优化Q1:如图,我们在UI打开或者移动到某处的时候经常会观测到CPU上的冲激,经过进一步观察发现是因为Instantiate产生了大量的GC。想请问下Instantiate是否应该产生GC呢?我们能否通过资源制作上的调整来避免这样的GC呢?如下图,因为一次性产生若干MB的GC在直观感受上还是很可观的。准确的说这些 GC Alloc 并不是由Instantiate 直

2017-05-24 17:38:36 890

转载 Q&A——骨骼优化

骨骼优化Q1:勾选了“Optimize GameObject”这个选项后,虽然性能优化了,可骨骼的TransForm会消失,有些需求又是需要在某个骨骼的TransForm上面挂特效的,这种情况下有什么比较好的处理方案吗?在选择Optimize GameObjects后,可在Extra Transforms中加入你想挂载特效的骨骼结点,这样该骨骼结点将不会进行优化处理,即其Trans

2017-05-24 17:37:47 358

转载 Q&A——AssetBundle(资源打包)

Q1:如果我有一个Prefab,它的Dependencies都在Resources文件夹中,那么,当我在AssetBundle打包时,只打包这个Prefab(不指定BuildAssetBundleOptions.CompleteAssets和BuildAssetBundleOptionsCollectDependencies)的话,这个Prefab能够正确实例化吗?这是不能正确实例化的

2017-05-24 17:37:14 325

转载 Q&A——光照贴图

Q1:Lightmap在PC上显示正常,但是转到Android平台上存在色差,颜色普遍偏暗。一般来讲,有两种情况可能会导致色偏和亮度差异。1.Unity烘焙的Lightmap是32bit的HDR图,而移动设备通常不支持HDR图(32bit per channel),会按照LDR图(8bit per channel)的形式进行处理,因此会出现色偏问题。因此我们建议:在

2017-05-24 17:36:47 606

转载 Q&A——版本Bug(一)

版本BugQ1:在把Unity升级到5.3之后,项目中缓存的粒子特效无法正常播放了(只能播放一次),是否还需要修改粒子的设置呢?这个问题是Unity的Bug,5.4.0B3 release note 为:Particles: Fixed particle system only playing once.(会在新版本5.4修复)目前我们推荐通过另一种方法可以暂

2017-05-24 17:36:14 271

转载 Q&A——UI输入(一)

UI输入Q1:在使用NGUI时,我们通常会将很多小图打成一个大的图集,以优化内存和Draw Call。而在UGUI时代,UI所使用的Image必须是Sprite;Unity提供了SpritePacker。 它的工作流程和UGUI Atlas Paker有较大的差别。在Unity Asset中,我们压根看不到图集的存在。 问题是:1. SpritePacker大概的工作机制是什么样的

2017-05-24 17:35:43 802

转载 Q&A——内存管理(二)

内存管理Q1:我们在Profiler中发现了一个AssetDatabase的内存占用,其存在于Assets中,单个占用内存非常大。 请问该占用是如何发生的呢?是否可以避免?理论上开发者在真机运行项目时是不会看到此选项的,只有在 Editor 中运行时能看到。由于在 Editor 下运行游戏时,Profiler 中获取的内存是包含了 Editor 本身占用的内存的,因此并不准确,

2017-05-24 17:35:06 296

转载 Q&A——物理性能

物理性能Q1:UWA的报告中指出我们所使用的刚体超出了限制,我们经过测试发现只要使用CharacterController就会产生一个隐藏的刚体。而我们的角色移动是会使用CharacterController的。 为了避免这种情况,我们使用了CapsuleCollider来替代CharacterController接受点击,同时使用设置位置的方法来替代CharacterControll

2017-05-24 17:32:30 268

转载 Q&A——运行性能(一)

运行性能Q1:如下图,我们发现WaitingForJob这个函数消耗过高导致了卡顿,请问该卡顿是否由于渲染压力过大导致?从图中看,该线程最后是在等待 Canvas.sortjob,而这是 UI 排序造成的开销(自Unity5.2版本开始,UGUI的部分计算已经移出了主线程)。详情参考:http://blogs.Unity3D.com/2015/09/07/mak

2017-05-23 21:09:23 497

转载 Q&A——NGUI

NGUIQ1:NGUI变形,如下图走样了,请问是不是图片压缩导致的?当UI纹理在设备上的显示分辨率低于原始分辨率时,会因为出现aliasing现象,导致UI局部变形。通常对于粗线条、块状的UI图素,变形通常是不明显的,但对于细线条的UI图素,则可能非常明显。通常该问题可以考虑三种方式来改善:在NGUI中将UIRoot的Scalin

2017-05-23 21:08:44 247

转载 Q&A——UI

UIQ1:能否在NGUI多分辨率适应方面提供一些解决方案或者思路?多分辨率适应涉及到以下几个方面:布局。通常可以通过 NGUI 中的 Anchor 组件来实现,能够保证 UI 到屏幕上指定锚点的距离;UI 背景图比例。通常我们建议将背景图的长宽比放大,以适配不同长宽比的屏幕,但要注意两边需要留空,或者保留可被裁掉的元素;UI 的整体缩放。可以通过 UIR

2017-05-23 21:07:44 304

转载 Q&A——图形渲染(一)

图形渲染Q1:当关闭预渲染GI时会出现IndirectResolution,这个参数有什么用,为什么调大了以后会大大增加渲染时间,但是烘培出来却没有什么效果。该值主要控制的是GI的烘焙密度,数值越大,表示每个单位距离内的Texel越多,即烘焙得越精致,自然烘焙的时间也越长。该值并非越大越好,场景越小建议该值越低。该值为1时,对于多数场景,其烘焙效果已经足够了,升高该值,

2017-05-23 21:07:10 466

转载 Q&A——资源加载(一)

资源加载Q1:怎样动态加载Navmesh?目前Navmesh不支持动态加载,只能随场景一起加载, 因此可以考虑将带有Navmesh的场景打包成AssetBundle,然后使用LoadLevel加载AssetBundle中的场景。Navmesh的动态加载已经在Unity的Roadmap中。而当前,Navmesh是和场景绑定的,也就是说目前只能通过LoadLevel(不支持Load

2017-05-23 21:06:21 276

转载 Q&A——资源管理(一)

资源管理Q1:iOS上PVRTC不支持NPOT的贴图压缩,在Android上可以用ETC2,但在iOS上不能压缩,内存消耗大。请问在iOS上有没有好的处理方案?ETC2仅能在支持OpenGL ES3.0的手机上进行使用,请研发团队在使用前谨慎考察支持ES3.0的手机在国内的覆盖范围。PVRTC不支持NPOT的贴图压缩,这是Apple规定的,上层应用无权对此更改。我们仅能建议将纹

2017-05-23 21:05:31 428

转载 Q&A——内存管理(一)

内存管理Q1:如图,在Editor中查看Profiler里的内存详细信息,发现Used Total中有个“Unity”,请问是什么意思?为什么会特别大?在Editor中运行时,“Unity”大是正常的,因为在Editor中运行项目时,引擎包含了所有的资源占用的内存(除了部分纹理和Mesh是在GFX中),同时自身会进行很多的辅助操作来记录各种游戏运行信息。一般来说,在查看

2017-05-23 21:04:40 389

转载 NGUI开发优化技巧(下)

[+]NGUI更新开销:NGUI进行自身的数据更新以及生成网格的过程中所产生的开销,目前UI部分的CPU耗时大部分都是这部分的开销;NGUI的更新开销几乎全部来源于UIPanel.LateUpdate中;一般超过3~4ms,说明这部分更新开销较高;UI更新的数量和频率通过合理的布局,可以把这部分的开销限制在很多小的范围里面;在

2017-05-23 21:04:01 548

转载 NGUI开发优化技巧(上)

UGUI和NGUI的区别:使用率:NGUI占大多数,NGUI和UGUI的使用占比为81% : 19%;易用性:NGUI占一定优势,UGUI仍在慢慢改善;性能:如果都合理搭配,UGUI在性能上还是有一点优势的,在Unity5.2、5.3之后UGUI有一部分网格合并的操作是放在多线程中进行,相对来讲,性能有一定的提升;但NGUI的优化相对更简单一些,主要是因为NGU

2017-05-23 21:03:05 1556

转载 Unity手游性能测评报告——MOBA篇

MOBA移动游戏性能分析报告:渲染、UI和逻辑代码是性能头号杀手!UWA曾经发布过MMORPG 和 ARPG 的Unity手游性能测评报告,延续该系列,最近UWA对提交测试(登陆www.uwa4d.com)的所有MOBA手游进行了客观的分析和汇总,并将其具有属性特征的几大性能模块数据在此分享,希望能给相关行业的研发人员一些更为明确和建设性的意见。◆◆◆总体性能

2017-05-23 21:01:26 1981

转载 GPU性能——Overdraw功能

Overdraw功能:总填充数峰值:项目运行过程中,单帧总填充像素数量的最大值;(M表示百万,20M就是说有一帧内填充了2000万个像素) 填充倍数峰值:项目运行过程中,单帧的最大填充倍数。(10.0X相当于在这一帧屏幕刷新了10遍)单帧填充倍数=该帧总填充数 / 该帧渲染相机的分辨率.

2017-05-23 21:00:14 4750

转载 总体性能——GC调用

版权声明:本文为博主原创文章,未经博主允许不得转载。GC调用频率(帧/次):项目运行时平均多少帧会触发一次GC操作。该值越低,表示GC触发得越快,即项目运行时卡顿次数越多。推荐值:1000帧/次 一般在切场景时调用或手动去调用;如果堆内存分配合理,就不用手动调用,由Mono自动进行触发;优化方法:1: 优化堆内存;

2017-05-23 20:59:10 1036

转载 内存管理

版权声明:本文为博主原创文章,未经博主允许不得转载。内存占用:总内存峰值(MB):项目运行时Unity引擎所统计的真实物理内存分配,这里并不包含系统缓存和第三方库的自身分配内存。推荐值:GFX内存峰值(MB):项目运行时用于渲染的资源所占用的内存,该值为底层显卡驱动所反馈的内存分配量。一般来说,该部分内存占用主要由渲染相关的资源量所决定,包括

2017-05-23 20:58:27 212

转载 总体性能——加载模块性能

版权声明:本文为博主原创文章,未经博主允许不得转载。GameObject数量、资源数量多时,Resources.UnloadUnusedAssets CPU耗时比较高;Loading.UpdatePreloading CPU耗时:Application.LoadLevelAsync:通过API,调用加载场景的耗时;GC.Collect:垃圾的

2017-05-23 20:57:15 1607

转载 总体性能——UI模块性能

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]NGUI:如何定位:UIRect.Update:UIWidget很多的时候,开销比较高;(UI模块或屏幕进行缓存,当缓存时,有大量UI在屏幕外边,虽然降低了UIPanel.LateUpdate,但UIRect.Update(下面有UIWidge

2017-05-23 20:56:26 369

转载 总体性能——粒子系统性能

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]查看屏幕中粒子的占比:GPU性能中Overdraw功能:填充数:每一帧填充多少个像素值;(M:百万)(数值高说明:区域内覆盖半透明物体的数量特别多,显得特别亮和红(特效或UI等),要重点优化)填充倍数:每一帧屏幕被刷新了多少回;

2017-05-23 20:55:18 288

转载 总体性能——动画模块性能

Animator.ApplyOnAnimatorMove:调用次数太多说明场景中角色数量太多了;Animator.ProcessAnimationJob:关于AnimationClip的采样和读取;WaitingForJob:Unity5.X已经将其放入了子线程,等待子线程的处理;角色的多少和AnimationClip的复杂程度影响耗时;Animators.Fire

2017-05-23 20:54:32 1226

转载 总体性能——物理模块性能

版权声明:本文为博主原创文章,未经博主允许不得转载。CPU均值:物理引擎每帧的平均CPU耗时。对于Unity引擎而言,其4.X版本所使用的物理引擎为NVIDIA PhysX2.8,报告中统计的是Physics.Simulate的CPU耗时;其5.X版本所使用的物理引擎为NVIDIA PhysX3.3,报告中统计的是Physics.Simulate和Physics.Proce

2017-05-23 20:53:40 228

转载 总体性能——渲染模块性能

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]上述图例中,不透明渲染开销高,对应的画面为打斗画面;半透明物体的渲染: 整个半透明的渲染,包括树、草、UI; 如果使用的是NGUI,看下Mesh

2017-05-23 20:52:32 308

转载 总体性能——渲染模块性能

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]上述图例中,不透明渲染开销高,对应的画面为打斗画面;半透明物体的渲染: 整个半透明的渲染,包括树、草、UI; 如果使用的是NGUI,看下Mesh

2017-05-23 20:51:13 332

Unity Mega-Fiers 3.49.7z

Unity Mega-Fiers 3.49

2021-03-18

Final IK.7z

Final IK 2.0(u2018.4.28)

2021-03-18

unity VR Panorama 360 PRO Renderer 3.0.7z

unity VR Panorama 360 PRO Renderer 3.0

2021-03-18

A Pathfinding Project Pro 4.2.15.7z

A Pathfinding Project Pro 4.2.15

2021-03-18

Odin - Inspector and Serializerv3.0.3(2).unitypackage

Odin - Inspector and Serializerv3.0.3(2).unitypackage

2021-03-18

QHierarchy v.4.4 Unity.unitypackage

QHierarchy v.4.4 Unity.unitypackage

2021-03-16

I2 Localization_v2.8.13 f2.zip

I2 Localization_v2.8.13 f2

2021-03-16

Obfuscator Pro 3.9.10.zip

Obfuscator Pro 3.9.10

2021-03-16

Mesh Baker 3.32.zip

Mesh Baker 3.32 unity插件

2021-03-16

I2 Localization_v2.8.13 f2.7z

I2 Localization_v2.8.13

2021-03-16

Editor Console Pro V3.968.zip

Editor Console Pro V3.968.unitypackage

2021-03-16

Best HTTP2(2.2.0).zip

Best HTTP2(2.2.0)亲测可用

2021-03-16

Anti-Cheat Toolkit v2.2.1亲测可用.7z

unity Anti-Cheat Toolkit v2.2.1

2021-02-20

Odin Inspector and Serializer 3.0.1.7z

unity odin 3.0.1

2021-02-20

Spring_boot_mybatis_sqlite.zip

网上看了很多Sqping boot + Mavn + mybatis + sqlite的配置,发现了很多坑,尤其是涉及到有增删改查的问题时候,这里整理了一下,希望对大家有帮助,这里用的是Spring boot 2.2.1 release,Intellij Idea的mavn工程,有问题也可以提出,我会补充。

2019-11-25

Demo.unitypackage

Unity后期渲染指定的物体的Demo,在后期渲染过程中,难免会遇到需要对指定物体进行后期渲染,下面事我参考HightlightingEffect插件整理的针对特定物体做后期的渲染方式

2019-11-08

c# 简单的IOC实现框架,包含通过配置,利用c#反射机制来动态注入

c# 简单的IOC实现框架,包含通过配置,利用c#反射机制来动态注入

2019-08-26

unity BuildReport Version 3.0.21

Version 3.0.21(支持5.2.1以上版本) - FIX: Disabled fix for "Resources" assets size for Unity 5.2.1 (and greater) since Unity fixed it now.

2017-11-08

Shader Forge v1.26.unitypackage

Shader Forge v1.26.unitypackage unity5.3.1亲测完美OK

2016-02-06

Unity3D UGUI之自制定时器(二)

我的博客Unity3D UGUI之自制定时器(二)的项目源代码

2015-04-20

安徽工业大学多媒体课件

安徽工业大学多媒体课件,包含复习内容,复习内容固定不变,考试很easy

2014-01-09

《Head_First设计模式》

书中模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。本书大量采用uML的class Diagram(Static Structure Diagram)。书中的例子程序都是用JaVa编写,本书所介绍的内容对于任何00语言的用户都适用,包括c++和c孝。

2013-04-06

( HeadFirst设计模式.pdf )

HeadFirst设计模式中文版,本书大量采用uML的class Diagram(Static Structure Diagram)。书中的例子程序都是用JaVa编写,本书所介绍的内容对于任何00语言的用户都适用,包括c++和c孝。

2013-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除