随笔分类 -  Unity

摘要:项目中的纹理一直使用的ETC2格式,以前主要是考虑到兼容性问题。最近在Spine使用PMA方案的时候出现了部分接缝位置黑边的情况,像下图这样: 怀疑了spine的导出,怀疑了shader,怀疑了材质的设置,最后发现是ETC2格式导致的问题。 使用RGBA或者ASTC格式,显示正常了。附几张不同AST 阅读全文
posted @ 2023-07-03 19:28 hghhe 阅读(858) 评论(0) 推荐(0) 编辑
摘要:Unity项目中,默认我们会出现Assembly-CSharp程序集,编译成Assembly-CSharp.dll文件,在默认情况下我们创建的代码文件均在此程序集中。当我们为Editor添加代码时,只要代码文件放在任一名叫Editor目录下,那么它将会自动设置为Assembly-CSharp-Edi 阅读全文
posted @ 2022-09-30 21:55 hghhe 阅读(751) 评论(0) 推荐(0) 编辑
摘要:在UGUI中,有一个专门处理描边的组件:outline。它的实现原理是在原uivertex中加入4个偏移的uivertex来实现显示效果,当我们把Effect Distance调大之后很容易发现。 在实际项目中,此组件的显示效果往往不能满足策划的要求,我们可以改进此组件的显示效果。 outline效 阅读全文
posted @ 2022-09-13 20:16 hghhe 阅读(350) 评论(0) 推荐(0) 编辑
摘要:在Unity的工具编写中,有时需要用到资源复制功能。我们有2种选择方式: 一。使用c#方式的File.Copy来实现,缺点是需要刷新才会生成meta文件。meta文件不能直接复制,因为不能和原文件的guid相同。 二。使用AssetDatabase.CopyAsset来实现,缺点是如果文件已经存在, 阅读全文
posted @ 2022-06-27 21:13 hghhe 阅读(555) 评论(0) 推荐(0) 编辑
摘要:最近因为老版本的BestHttp库有bug,升级了最新的BestHttps/2库,结果游戏在安卓模拟器中闪退。 Houdini Unsupported feature (ID:0x20b00612) 经查 libhoudini库是为了模拟armv7在x86平台上运行而设立的,此报错表示有特性houd 阅读全文
posted @ 2022-06-02 17:52 hghhe 阅读(287) 评论(0) 推荐(0) 编辑
摘要:以下情况仅适用于lz4方式打包的bundle文件。 AssetBundle.LoadFromFile函数加载bundle文件时,并不会将所有可使用的资源加载进来,它占用内存的大小与声明资源的数量有关系。 如上图所示,ui_gfx内因声明了29000多个资源,导致占用空间最大。而实际bundle文件最 阅读全文
posted @ 2022-02-22 17:10 hghhe 阅读(84) 评论(0) 推荐(0) 编辑
摘要:在Unity游戏中,常会需要粒子特效需要显示在UI上的情况。对于列表中的粒子特效,则需要自己实现裁剪,如图 所示。 实现粒子裁剪第一版: 1. 向带SystemParticle的结点挂一个MonoBehaviour脚本。 2. 修改粒子渲染shader,添加_ClipRect, 与UI/Defaul 阅读全文
posted @ 2021-06-07 20:27 hghhe 阅读(615) 评论(0) 推荐(0) 编辑
摘要:最近迷上了Deepin系统,UI时尚,应用商店的设计很赞! 在Deepin中安装Unity很简单,第一步需要下载一个UnityHub(https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage)。 Unity打开项目后,鼠标光标会出 阅读全文
posted @ 2021-05-29 15:41 hghhe 阅读(247) 评论(0) 推荐(0) 编辑
摘要:1. UGUI上的输入事件触发是通过Raycast Target选项控制的。所以如果某个Text或Image等组件,如果不需要处理输入事件,应该将Raycast Target选项去掉。 2. 在有透明按钮的需求时,往往是通过透明Image实现的(不设置Sprite, 透明度0),如下图: 此方法的问 阅读全文
posted @ 2021-04-17 17:54 hghhe 阅读(162) 评论(0) 推荐(0) 编辑
摘要:1. 特效过于复杂, 子项过多,导致低端设备可能帧率比较低。一般的处理办法在低端机上关闭一些不太重要的子项。 2. 特效单个粒子显示过大, 导致填充面积过高,一旦数量稍大,就容易卡顿。 3. 特效使用了prewarn, 在粒子初始化时会一次性生成大量的粒子,有可能造成卡顿。一般不建议使用此项。 4. 阅读全文
posted @ 2021-04-14 11:16 hghhe 阅读(196) 评论(0) 推荐(0) 编辑
摘要:在Unity中打AssetBundle包时,发现一个很有意思的现象:不同电脑打出来的Bundle文件是不一样的。不仅md5值不一样,连manifest中记录的hash值也会不一样。 经分析,应该是各电脑中的缓存内容不一样导致的。问了一圈发现,一般的解决办法是固定一台电脑打AssetBundle包。 阅读全文
posted @ 2021-04-09 09:50 hghhe 阅读(1547) 评论(2) 推荐(1) 编辑
摘要:在unity中,要调用外部程序处理时,常见代码如下: Process proc = Process.Start(new ProcessStartInfo { FileName = LuacToolPath, Arguments = " -o " + newPath + " " + luaPath, 阅读全文
posted @ 2021-02-25 20:23 hghhe 阅读(909) 评论(0) 推荐(0) 编辑
摘要:在IOS,可以使用PVRTC格式,也可以使用ETC格式。那2者有什么差异呢? 1. RGB PVRTC与ETC大小没什么差别,毕竟都是4bit。 2. RGBA PVRTC大小是ETC2的一半,PVRTC此时仍是4bit, 而ETC2已变成8bit。 实际效果如下: 上图可见,PVRTC上,边缘部分 阅读全文
posted @ 2020-12-17 15:18 hghhe 阅读(1476) 评论(0) 推荐(0) 编辑
摘要:根据UnityBlog的介绍,Crunch压缩能实现更高的压缩率和更少的压缩时间。 测试如下: 原图: ASTC 12X12: ETC2: Crunched ETC2: 由此可见,Crunch压缩率确实非常高啊。 效果:在实际的压缩表现上,Crunched格式的图片丢失细节比ETC格式更多,特别是在 阅读全文
posted @ 2020-07-06 19:14 hghhe 阅读(1210) 评论(0) 推荐(0) 编辑
摘要:Unity版本:2018.4.3,mac版 测试平台:都选择android平台, 编辑器下运行 xlua版本:2.1.14 tolua版本:Aug 9, 2019发布版本 测试方法:相同的lua代码,每个测试用例取稳定值 测试结果: 通过上图发现,xlua全面占优啊。附上测试的lua脚本: if n 阅读全文
posted @ 2020-05-18 15:31 hghhe 阅读(2686) 评论(1) 推荐(0) 编辑
摘要:在xlua中,已经为IEnumerable对象实现了__pairs方法。所以在lua中可以for _, xxxx in pairs()来使用。 如遍历子结点:for i, childTransform in pairs(parentTransform) do ... end。这里需要注意的是i是从0 阅读全文
posted @ 2020-01-17 11:28 hghhe 阅读(421) 评论(0) 推荐(0) 编辑
摘要:Unity版本:2018.4.13,mac版 测试平台:Android 测试设备:honor 20s xlua版本:2.1.14,非jit版本 slua版本:1.7.0,未开启jit 测试方法:相同的lua代码,每个测试用例连续点击5次,取平均值 测试结果: 通过上图发现,xlua在与c#交互的效率 阅读全文
posted @ 2019-12-16 11:33 hghhe 阅读(2818) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示