随笔分类 -  Unity项目开发日志

Unity做过的项目开发日志
摘要:在导出ipa时,通过这几种方法,可以更快地导出ipa来进行测试 不勾选bitcode 在导出ipa时,不勾选bitcode,这样会加快出包的速度,但导出来的ipa会大一些,关于bitcode可查看:《iOS rebuild from bitcode对ipa大小的影响》 不选全部兼容设备 在xcode 阅读全文
posted @ 2021-11-22 22:01 赵青青 阅读(219) 评论(0) 推荐(0) 编辑
摘要:开发手机游戏,需要接入ios的sdk,截止2021年7月23日虽然swift已经推出一些年头,但对于大部分的渠道sdk,还是oc的代码。 oc不仅仅用来开发ios,还是mac上的app开发语言 从新手到入门 新手教程 object c的简写是objc,很多类都是NS开头,这是乔布斯离开苹果后自己创立 阅读全文
posted @ 2021-11-17 10:13 赵青青 阅读(465) 评论(0) 推荐(0) 编辑
摘要:在手游开发中,经常会使用模拟器来进行adb调试,本文列出了市面上主流模拟器的adb端口和使用对比。 模拟器ADB端口 市面上常见的模拟器连接ADB的端口列表: 网易MuMu模拟器 7555 夜神安卓模拟器 62001 逍遥安卓模拟器 21503 蓝叠安卓模拟器 5555 雷电安卓模拟器 5555 天 阅读全文
posted @ 2021-09-08 20:15 赵青青 阅读(6427) 评论(0) 推荐(0) 编辑
摘要:遇到问题 我们线上手游要给港澳台用户增加cg视频,在我之前文章中已经讲到了我们是怎么在unity中播放cg的——》《使用AVPro Video在Unity中播放开场视频(CG)笔记》,这篇就写一下cg在我们实际项目中遇到的问题。 在某位同事的电脑上(win7)视频无法播放,在win10电脑上播放正常 阅读全文
posted @ 2021-08-15 12:08 赵青青 阅读(1247) 评论(0) 推荐(2) 编辑
摘要:在我所经历的项目组中有这几种方法来生成APK 直接在Unity生成APK,可以接入SDK 使用Unity导出Android Studio工程手动生成APK 使用Unity导出Android Studio工程命令行离线生成APK 这里记录一下我在项目组使用Android Studio出包的笔记。 使用 阅读全文
posted @ 2021-07-04 11:15 赵青青 阅读(1906) 评论(3) 推荐(1) 编辑
摘要:IL2CPP需要NDK Unity使用IL2CPP模式出安卓包时,需要用到NDK,如果没有安装则无法导出Android Studio工程或直接生成APK,本篇记录一下我下载NDK不同版本的填坑过程。 IL2CPP需要NDK 不能使用最新的NDK版本 NDK的大版本和小版本号都要一致 每个Unity版 阅读全文
posted @ 2021-07-04 10:52 赵青青 阅读(4784) 评论(2) 推荐(0) 编辑
摘要:使用emmylua调试slua的方法 在lua的入口中加上emmylua的debug代码 在slua的LuaState.loaderDelegate委托中,添加判断如果是load_file_name="emmy_core",则返回null,其它的则正常加载lua文件。 播放unity,在idea中启 阅读全文
posted @ 2021-06-27 10:35 赵青青 阅读(697) 评论(0) 推荐(0) 编辑
摘要:记录我在使用rider调试Unity的C#代码时遇到断点变灰色小叉叉,断点打不上/(不会进入断点)的几种解决办法 首先要确保你没有禁用所有的断点,然后再尝试使用本文的三种方法。 不要禁用所有断点 在Rider的Debug窗口有一个禁用所有断点的功能,不要勾选。 PS.禁用断点后,在代码中断点图标是一 阅读全文
posted @ 2021-06-15 08:56 赵青青 阅读(3146) 评论(0) 推荐(0) 编辑
摘要:项目背景 目前在一个大型MMOARPG游戏中使用Lua做为逻辑开发语言,Lua占整体代码量的80%。 我们这个MMO游戏开发近2年,客户端8人,项目组总体人数在100人(美术占70%),目前代码量很大,中间有客户端人员的正常流动,加上版本的迭代(需求多变)代码没有那么好维护,但主要还是看团队的编码风 阅读全文
posted @ 2021-06-03 23:44 赵青青 阅读(1148) 评论(0) 推荐(1) 编辑
摘要:作个笔记,在项目开发中调研到目前市面上的一线游戏中各种音效的默认音量大小 背景音乐:0.25 游戏音效:0.65 聊天音效:0.65 //保存玩家调整过的音量值 float BgVolume = PlayerPrefs.GetFloat("BgVolume", 0.25f); float Effec 阅读全文
posted @ 2021-06-02 23:01 赵青青 阅读(494) 评论(0) 推荐(1) 编辑
摘要:对象属性和字段拷贝的几种方式 微软提供了浅拷贝 对于值类型,修改拷贝的值不会影响源对象 对于引用类型,修改拷贝后的值会影响源对象,但string特殊,它会拷贝一个副本,互相不会影响 自己实现深拷贝,我了解到的有这几种方法 硬核编码,每一个属性和字段都写一遍赋值,这种方法运行速度最快 通过反射,最常见 阅读全文
posted @ 2021-05-23 11:39 赵青青 阅读(2588) 评论(0) 推荐(1) 编辑
摘要:前言 我们有一个Unity纯C#开发的mmo项目(使用ILRuntime热更,开发阶段跑纯C#),在开发到后期之后,每次修改C#代码编译时间在25秒左右,这部分的等待时间是很长的, 我在想有没有办法可以缩短这个编译时间。 编译dll时间分布: assembly-csharp 20s assembly 阅读全文
posted @ 2021-05-11 20:12 赵青青 阅读(1708) 评论(2) 推荐(1) 编辑
摘要:使用asm的好处 减少修改C#后unity编译dll的时间,对于项目中的C#代码越多效果越明显,比如我们的一个3dmmo项目是纯C#开发,每次修改C#后编译时间就要26s以上 在Unity2018.2中已支持asm 注意事项 引用报错 把第三方库或不常改动的代码放到 Standard Assets或 阅读全文
posted @ 2021-05-10 20:09 赵青青 阅读(1395) 评论(0) 推荐(1) 编辑
摘要:我的环境 Unity引擎版本:Unity2019.3.7f1 AssetBundles-Browser 于2021-1-14拉取,github上最后提交日期是2019-12-14,在本文简称:ABBrowser 注意事项:每次修改spriteAtlas的属性后,都要把ab文件删除后再重新打包。 事件 阅读全文
posted @ 2021-04-08 20:02 赵青青 阅读(800) 评论(0) 推荐(0) 编辑
摘要:在Lua中使用sqlite Lua版本Sqlite文档:http://lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki sqlite官网:https://www.sqlite.org/index.html 用途 把游戏中的配置表数据存储到sqlit 阅读全文
posted @ 2021-01-21 11:00 赵青青 阅读(606) 评论(0) 推荐(0) 编辑
摘要:在项目中如果有大量的字符串拼接,比如每秒执行的倒计时,协议中的日志输出,每次拼接会产生大量的gc,尤其是在ILRuntime下执行 gc alloc的次数会更加频繁。 zstring 有两个字符串处理的库都叫zstring,其中小写的zstring是一款国人开源的zstring,而大写的ZStrin 阅读全文
posted @ 2020-11-04 20:42 赵青青 阅读(2610) 评论(0) 推荐(0) 编辑
摘要:前言 我们有一个用Unity引擎开发了二十个月的mmo arpg手游项目,在安卓已经测试三轮了,出于IOS的热的考虑且结合我们的情况:全部代码都是纯C#开发非Lua,所以计划使用ILRuntime热更,这里记录我们把这个项目用上ILRuntime热更的过程,包括遇到的困难和如何解决的。其它类型项目或 阅读全文
posted @ 2020-09-10 12:39 赵青青 阅读(2818) 评论(7) 推荐(3) 编辑
摘要:我们公司有一个Unity原生开发语言C#写的项目,目前已经在安卓测试过多次,上架IOS在考虑热更,所以对ILRuntim进行性能测试,在测试过程中已经按照官方文档进行了CLR绑定和生成Release的Dll,并且在非Editor环境下测试。 我的测试环境:ILRuntime 1.6.3 ,MuMu模 阅读全文
posted @ 2020-08-30 11:00 赵青青 阅读(3314) 评论(0) 推荐(0) 编辑
摘要:当游戏在手机/模拟器上卡死,logcat没有日志输出,也没有卡死堆栈信息或者bugly也没有捕获到异常,你是否很焦急?本文介绍一下我们项目中检测Unity卡死的方法,也许适合你使用。 实现原理 在绝大多数情况下我们可以认为Unity是单线程的,基于这点我们在Unity的系统函数FixedUpdate 阅读全文
posted @ 2020-08-24 20:16 赵青青 阅读(4503) 评论(4) 推荐(3) 编辑
摘要:前言 对于队列和数据锁,本文结合我所在的mmo游戏项目,讨论一个实际例子 当玩家在游戏的过程中,获得道具、物品时,会弹出一个提示窗体(浮动样式),提示玩家进行操作。 弹出框弹出顺序: 先进先出,且不会包含重复数据。 或者是后进先出,且不会包含重复数据 理论上来说同一个时间列表中保存的数据不会超过10 阅读全文
posted @ 2019-11-22 10:12 赵青青 阅读(576) 评论(0) 推荐(0) 编辑