
优化
文章平均质量分 62
Hunter_2020
这个作者很懒,什么都没留下…
展开
-
ScriptableObject上的prefab内容暂用,ScriptableObject详解
ScriptableObject是Unity引擎中的一种特殊类型,它允许你创建可扩展的、自定义的数据容器,用于在项目中存储和管理数据。它们非常适合存储那些不直接关联场景对象的数据,例如配置数据、游戏设置、AI行为树、技能和物品属性等。原创 2023-05-05 16:50:02 · 887 阅读 · 0 评论 -
[unity] Enable Full StackTraces 的方法,打开泄漏检查的全堆栈显示
如果 unity 老是报错: A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces。原创 2023-02-22 10:26:29 · 3429 阅读 · 0 评论 -
[Unity]多摄像机和UI的结合的问题
如果用UGUI 已经用了camera,在用其他camera是无法显示UI的,不过是的layer设置成什么。只要是UI组建的内容就无法显示。原创 2020-07-18 11:27:00 · 1233 阅读 · 0 评论 -
[Unity] 判断设备是手机还是平板
iPhone,可以根据设备名字判断是否包含 iphoneandroid,可以比较设备分辨率的比例 是否大于4:3 public static bool IsPhone() { bool isPhone = true;#if UNITY_IPHONE && !UNITY_EDITOR string deviceInfo = SystemInfo.deviceModel.ToString(); isPhone = deviceInfo.Contains("iPhon原创 2020-07-05 18:00:47 · 1776 阅读 · 2 评论 -
[Unity] 判断是否 时phone X 系列
判断iphone 是否是 phone X 系列,及有刘海的iphone public static bool IsiPhoneX() {#if UNITY_IOS return UnityEngine.iOS.Device.generation.Equals(UnityEngine.iOS.DeviceGeneration.iPhoneX) || UnityEngine.iOS.Device.generation.Equals(UnityEngine.iOS.DeviceGenerat原创 2020-07-05 17:57:24 · 370 阅读 · 0 评论 -
[unity] 动态改变应用的横屏和竖屏状态
代码直接设置 Screen.orientation 的值即可竖屏: Screen.orientation = ScreenOrientation.Portrait;横屏:Screen.orientation = ScreenOrientation.Landscape;但是如果是跳转网页或者打开网页,需要先打开网页在设置横竖,不然可能是设置失败或者页面大小不到。最好等一帧是否需要自动旋转横屏或者竖屏的方向// 可以自动旋转为竖屏或者横屏 Screen.autorotateToPortrai原创 2020-07-05 17:52:23 · 2273 阅读 · 1 评论 -
[Unity] 动态合并和拆分 mesh 和 贴图
当场景中有很多不同的模型和贴图时,会导致Batch 会很高,所以我们可以去合并这些小物件模型和贴图,已达到省资源的目的。首先在记录每一个需要被动态合并的物的material,mesh, texture,uv 等信息 public void CollectSmallObject(SmallObject mSmallobject) { ObjectData data = default(ObjectData); data.objId = mSmallobject.objId原创 2020-06-26 14:45:37 · 4394 阅读 · 0 评论 -
[Unity] 优化包体大小的细节----prefab之间的引用关系
如果prefab A里用到的资源B也是个prefab,那A的size就会比较小,因为A并没有把B真的包含,只是存了一个引用,如果B不是个prefab,或者把prefab unpack, 那A的size就会变大, 因为B用到的资源会复制到A中,如图A引用BprefabA 把B这个prefab unpack之后...原创 2020-06-22 11:37:31 · 1459 阅读 · 0 评论 -
[C#] C# 优化内存和运行效率
1、用 GetEnumerator() 遍历dictionary 和 list ,避免使用 foreach ; 用using 包裹,可自动调用Dispose2、dictionary 使用 TryGetValue 一次判断取值,避免两次访问3、值类型使用引用方式传递,可提高效率 ref4、避免无意义的初始化,C# 默认初始化是清除内存,所以无意的初始化,会增加内存5、字符串判断, 使用 比较length ==0 效率更高6、cahe 数据,可以避免反复访问;7、减少字原创 2020-06-20 21:02:24 · 2369 阅读 · 0 评论