随笔分类 - unity
摘要:逻辑结构图: TestHttpCallBackArgs http回调参数 1 using System; 2 3 /// <summary> 4 /// http回调参数 5 /// </summary> 6 public class TestHttpCallBackArgs : EventArgs
阅读全文
摘要:上图: 启动流程、检查更新流程 ... 游戏关卡流程 等等 全部继承自流程基类,而流程又属于状态的一种,所以流程基类继承 父类FsmState。 流程属于状态,状态需要有一个拥有者来进行管理,切换状态。那么流程的拥有者就是流程管理器。 流程管理类: 1 using System; 2 3 /// <
阅读全文
摘要:什么是有限状态机: 有限状态机是一种用来进行对象行为建模的工具,作用是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。简单理解就是:状态满足条件下的一种处理机制。 有限状态机,任意时刻都处于有限状态集合中的某一状态。当获得一个输入字符时,将从当前状态转换到另一状态或仍保持当
阅读全文
摘要:对象池老生常谈的问题了,对象池即对象的池子。大概描述下:对象池内寄放着废弃的对象,当程序需要某对象去池子里拿,让废弃对象再利用,如果没有则创建;用完之后再将废弃的对象回收。一句话:让内存重复利用的优化方案。 解决痛点: 1.省去很多内存碎片得问题; 2.节省实例对CPU的消耗; 3.触发垃圾回收(G
阅读全文
摘要:unity协程Coroutine 大家并不陌生,在项目中也是经常使用。大量的使用协程,会影响性能,带来GC。 如下图 延迟调用 所带来的的GC: 因此 对于延迟调用 ,最好不要用 协程 Coroutine,最好自己用update 去实现。 自己写定时器有哪些优点: 1.减少GC 2.可以自己写回调,
阅读全文
摘要:总述: 以往的Animator, 角色需要的动画会一次性全部拖拽到列表里,加载就需要一次性的全部加载进去,造成卡顿。而AnimationClipPlayable可以按需加载 需要再加载 超时卸载,可以减少内存的占用。 角色动画特别多,常用的动画 默认加载,非常用的动画可以动态加载,设置过期时间 超时
阅读全文
摘要:续上篇 unity之性能优化 PlayableGraph 动画应用(一)继续: 多个动画如何播放,动画融合、权重等 上代码: 1 using System.Collections.Generic; 2 using UnityEngine; 3 using UnityEngine.Animations
阅读全文
摘要:PlayableGraph 概述: PlayableGraph是一组动画图API PlayableGraph常用API:PlayableGraphAnimationPlayableOutput: IPlayableOutPut 输出节点AnimationMixerPlayable: Iplayabl
阅读全文
摘要:IOS : 1 //获取磁盘空间总大小 2 -(float)GetTotalDiskSpace { 3 float totalSpace; 4 NSError *error = nil; 5 NSArray *paths = NSSearchPathForDirectoriesInDomains(N
阅读全文
摘要:1 local RenderTexture = CS.UnityEngine.RenderTexture 2 local Rect =CS.UnityEngine.Rect 3 local Screen =CS.UnityEngine.Screen 4 local Texture2D = CS.Un
阅读全文
摘要:在Unity 2019.3 (beta)及其后版本可用 Device Simulator包,预设大部分机型,也可以自定义机型, 可以模拟机型的分辨率和刘海屏,非常方便做UI适配(现在刘海屏、水滴屏、挖空屏··· 各种屏,适配起来超级麻烦,Device Simulator功能,无需打包到真机就能看适配
阅读全文
摘要:图 1 -1 Profiler 入口 要分析独立应用程序 需要勾选以下量两项,否则不精准 图 1- 2 启动标志 打开Profiler , 图 1-3 Profiler 界面常规设置 PlayModel :运行模式下 我们就用这个 Hierarchy: 表示浏览视图 选择这个 便于观察 DeepPr
阅读全文
摘要:界面操作一般会触发UI的开关或者隐藏显示,必然会造成UI重建。 1.避免Active 和DeActive ,而采用控制Canvas组件的激活与关闭。 2.不需要参与点击事件的Canvas取消激活Graphic Raycaster 脚本。 3.仅用于显示的图片或者文本禁止勾选Raycast Targe
阅读全文
摘要:一旦图片打进图集,哪怕仅仅只需要显示图集上的一小部分,也会把整张图集拉进内存中,因此并不是所有的图片都需要打进图集。我们会将宽高超过128或256的图从图集中拿出来,比如背景图,等等。 IOS平台上 如果贴图没有透明通道 那么使用PVRTC格式来压缩是首先,我们会给美术同学说:优先保证图片是2的整数
阅读全文
摘要:图片 alpha通道分离的好处: 降低内存,提高加载效率。 unity针对Android平台还提供了通道分离的方式:将图片(sprite)压缩成ETC1,提取Alpha生成一张通道图。unity将通道图保存的格式为a8格式,目的为了让混合起来的Alpha效果很好。比如一张1024*1024的贴图,E
阅读全文
摘要:首次界面打开加载的资源(如 贴图)会被缓存在内存中,再次打开界面由于内存中已有了资源 所以会更快。如何让首次打开界面会更快呢? 图片是否进行了有效的压缩。Android 平台下不带透明通道 优先使用ETC1,带透明通道优先使用ETC2。如果显示质量无法达到要求 可以使用RGBA16,最后才使用RGB
阅读全文