
UNITY
文章平均质量分 65
Moyiii
Simplify the knowledge and deepen your mind.
展开
-
unity移动端鼠标点击UI交互异常问题记录
调用这个代码的时候,在移动端上,EventSystem的交互判断就会出现异常,一些事件经常会被打断,无法正确处理drag等事件。这个问题我都不好描述,不知道怎么查,记录下,万一别人遇到了,通过引擎搜到这个文章,省的再踩坑。原创 2025-03-18 15:07:00 · 105 阅读 · 0 评论 -
关于ProtoBuf的一些记录
关于二进制和proto的一些记录,内存压缩,优化算法原创 2024-04-07 18:25:35 · 544 阅读 · 0 评论 -
Unity-通过AB包使用SpriteAtlas图集(基于unity2018)
图集、AssetBundle图集、unity图集原创 2024-03-29 17:56:51 · 2330 阅读 · 0 评论 -
C# 德语法语解析浮点数不正确的问题记录
今天查Bug的时候,发现一个玩家登录不上去,一个游戏里镜头乱飞,表现不正常。对于法语来说,float.parse(1.5)这种方法会报错,因为法语环境下,小数是靠逗号分隔的,这个直接报错了也就还好。在德语环境下,不会报错,但是小数点会被忽略。所以只是数值不正常,这个就难查了。不要在表格里配置小数。都配置整数,再除以10000什么的。只是记录一下,原来没有往这个方面想过,踩过坑也就知道了。虽然他说的时候就这一句话,而且跟这个报错没什么关系。只是突然想起了之前一个同事给我说的一句话。但今天想想,还是浑身一抖。原创 2023-12-14 21:32:24 · 332 阅读 · 0 评论 -
Unity UGUI 循环滑动列表实现思路及简单代码实现
unity UGUI 循环滚动列表实现思路及简单代码原创 2023-10-24 18:22:32 · 2021 阅读 · 4 评论 -
复用对象的技巧
缓存、对象池、对象复用原创 2023-03-09 12:42:17 · 392 阅读 · 0 评论 -
记录一个Unity序列化的垃圾回收问题
我们可以发现,确实Unity总共New了两次List对象,并且都是在Awake之前。通过对比HashCode可知,第一次是我们默认New的空对象,第二次是UnityNew出来的并完成了反序列化。好了,问题了来了,在运行时,我们自己New的List和外部传进来的List,是同一个List吗?那如果我们自己不new对象,在面板上也放着不管,那这个List是null还是一个为0的对象呢?为了方面测试,我们新写一个类,名字叫做XList,我们重写类的构造函数,让类在构造函数中打印自己的HashCode。原创 2023-02-16 17:36:15 · 227 阅读 · 0 评论 -
一个关于Action的内存分配问题
Action action = Func 竟会不停地GC.Alloc?来一探究竟吧原创 2023-01-29 19:29:17 · 494 阅读 · 0 评论 -
《Fixing Performance Problems》阅读笔记·一
一篇Unity关于CPU性能优化的文章总结,这是读书笔记,加上一些自己的理解原创 2022-11-08 16:49:40 · 168 阅读 · 0 评论 -
关于游戏性能优化的一些感想
性能优化的一些感想,时空平衡,项目取舍原创 2022-06-28 17:49:53 · 817 阅读 · 0 评论 -
C# TaskCompletionSource在Unity中的使用
之前项目在设计框架的时候,同事负责的底层资源加载模块没有提供同步方法,所有的资源都是需要通过异步模式进行加载,而异步模式是会传染的,一旦其中一步采用了异步,所有的上层调用链都需要改成异步以作兼容。而异步代码写起来代码容易分散不紧凑,甚至是大量的嵌套,很不优雅。先举个例子吧,假设UI管理在打开界面时需要加载界面的预置本身,异步代码大概就要这么写:public void TestOperation(){ UIManagerOpen("登录");}public void UIMana..原创 2021-12-29 12:28:10 · 2856 阅读 · 0 评论 -
Unity一个简单的播放视频方法
在看宣雨松的博客的时候,看到了一个unity播放视频的方法Handheld.PlayFullScreenMovie("PV.mp4", Color.black, FullScreenMovieControlMode.Full);这个方法只在移动端有效果其中.mp4文件需要放到StreamingAssets目录下详细介绍可以看下宣雨松的博客Unity3D研究院之两种方式播放游戏视频(二十五) | 雨松MOMO程序研究院https://www.xuanyusong.com/archives原创 2021-10-11 15:18:48 · 1511 阅读 · 0 评论 -
Unity管理器驱动怎么做?简单聊下静态类与解耦
在前边的文章里提到了,我们希望做一个拦截UnityLog的管理类,并且初衷是希望,程序直接把这个脚本拖动到工程里,别的什么代码都不用动,管理类就能自动运行。然而当时测试的结果并不行。 我们问题的关键点在于,不改动其它的代码。试想一下,如果一个类不被别的类初始化和调用,那它的代码怎么执行?所以我最开始的想法是把初始化直接放到类的静态构造函数里去。但是这样做并没有用。 因为类的静态构造函数的执行时机是不确定的,它只能保证类在被引用前一定会执行完静态构造函数,...原创 2021-08-27 11:48:54 · 264 阅读 · 0 评论 -
一个简单的C#HTTP服务器(含Unity通信调用)
为什么会有这个需求呢,是这样的,我们希望在手机端能够实时的把日志汇报到一个测试用的服务器上。因为本人是客户端,而且也不想占用服务器资源。因此就想自己尝试一下能不能直接用C#实现一个简单的http服务器,搜了一些资料后发现。一种是用Socket实现,一种是用HttpListener实现。Socket的实现不够直观明朗,但是更灵活。因为我的需求就是期望客户端那用简单的http请求就可以把游戏内日志汇报上来,因此简单易用是第一需求。原作者找不到了,这是我找到的那个参考https://www.h3399.c原创 2021-08-23 19:34:48 · 2200 阅读 · 0 评论 -
IOS-ATT弹窗需求
ATT是苹果一项新规定,叫做AppTrackingTransparency,意味着在IOS14.0以上的设备,获取用户的IDFA,需要首先经过用户同意。这会影响到数据分析和广告投放,保护了用户的隐私,不过对研发和运营来说就不是一个好消息了。那为了过审怎么做呢,其实很简单,只需要调用几行简单的代码就可以了:1、获取用户是否已经具有权限OC代码如下:int GetSKAdNetworkEnaled(){ if (@available(iOS 14.0, *)) { A..原创 2021-06-29 12:05:43 · 5847 阅读 · 3 评论