今天是2018年10月24日,祝大家程序员节快乐。
游戏中一旦有换装功能,角色可能就会是多个DrawCall了,所以我们可以将部件的贴图动态合并在一张中。如果想合并PVRTC2或者PVRTC4可以参考我上一篇文章。Unity3D研究院之IOS运行时合并PVRTC贴图(九十九) https://.... Read More >
分类目录归档:【Unity3D研究院之游戏开发】
2018
10-23
10-23
Unity3D研究院之IOS运行时合并PVRTC贴图(九十九)
游戏中一旦有换装功能,角色可能就会是多个DrawCall了,所以我们可以将部件的贴图动态合并在一张中,本文聊聊PVRTC2bit 和 PVRTC4bit 贴图合并的方法。先看看PVRTC贴图的排列方式。
核心方式是Texture2D.GetRawTextureData()获取贴图的原始.... Read More >
2018
10-14
10-14
Unity3D研究院自动注入代码统计每个函数的执行效率以及内存分配(九十八)
以前用UWA和WeTest的工具来查看代码效率,他们都能提供我们代码每个函数的统计效率,然而并不需要我们做什么,所以我就在想如何实现一个类似他们的功能?
Unity提供了Profiler.BeginSample();Profiler.EndSample();方法来统计代码效率,但是有两个问题
.... Read More >
2018
09-30
09-30
Unity3D研究院GPU Instancing实战(九十七)
最近将GPU Instancing应用在游戏中,遇到了一些坑和大家分享一下,我们用的版本是unity2017。前面说了GPU Instancing目前适合游戏中的草、石头等元素较多的地方。
首先需要开发一个刷地表的编辑器,试想一下如果场景上的草每个都要美术手动的去摆这得多麻烦啊,如下图所示,根.... Read More >
2018
09-03
09-03
Unity3D研究院GPU Instancing测试
GPU instancing 很早就支持手机了(Android只支持Opengl ES 3.0),但是我一直不知道将它应用到哪里,刚好最近在调研这个我对它又重新测试了一下。
如果是不动的物体勾选static静态合并批次(40-50帧率)
自定义Shader中勾选Enable GP.... Read More >
2018
05-15
05-15
Unity3D研究院之旧版本Unity使用新版本XcodeAPI
由于目前Unity的项目比较老(Unity5.x),自动打包Xcode持续集成的时候遇到了问题, 因为PBXProject有些方法旧版本没有,今天我无意间发现一个巧妙的方法解决它。
https://bitbucket.org/Unity-Technologies/xcodeapi
将最新.... Read More >
2018
05-03
05-03
Unity3D研究院新方法加快代码编译速度(九十六)
之前可以将核心框架代码放在Plugins目录下,只要不修改该目录下的代码,就不会造成重新编译从而加快编译速度。新版本的Unity引入了一个新概念,Assembly可以将目录下(包括子目录)下的所有cs代码编译成DLL,这样就可以进一步加快编译速度。
Create->Assembly De.... Read More >
2018
04-28
04-28
Unity3D研究院专治IOS查看日志各种不服(九十五)
测试拿着IOS手机过来说这里有个问题,能看看日志吗?
Android上连上logcat可以很方便看日志,但是IOS就没办法。几年前我写过一篇文章通过写日志的方式保存在本地
http://www.xuanyusong.com/archives/2477
后来ios把这个功能封了,无法.... Read More >
2018
01-26
01-26
Unity3D研究院之生成客户端灰度测试包(九十四)
灰度测试包应该和正式包的内容完全一致,只是添加了一些辅助的开关,例如:可以进调试服务器、可以输入gm指令、可以下载测试url的cdn热更资源。如果开发都打两个包的话就很麻烦。日后游戏上线后我们需要,dsym和带符号表的so用来还原闪退的堆栈。Android只是编译unity的时候会生成il2cpp..... Read More >
2017
12-23
12-23
Unity3D研究院之全方位定位Android闪退(九十三)
首先强烈建议大家安卓打包一定要用il2cpp,我们项目对比了mono发现il2cpp闪退方面比mono少了很多。平常给QA打包推荐勾选Development Build 和 Autocontent Profiler 。这样如果发生了闪退可以直接从log中定位,或者真机连profiler。
我们.... Read More >
2017
04-01
04-01
Unity3D研究院之Unity5.6的Lz4打ipa、apk包(九十二)
Unity5.6今天发布了。支持打包lz4压缩包,支持ios和android。 这个lz4不是assetbundle,而是压缩预制在游戏包内的资源。比如场景依赖的资源,或者Resources目录下的资源,Prefab关联的资源等等。
压缩资源的描述如下
Compressed data f.... Read More >
2016
12-26
12-26
Unity3D研究院之UGUI安卓自动ETC1通道分离(九十一)
网上已经有类似的解决方案,原理就是在做一张通道图,然后在shader里混合。代价就是需要做个shader在做一个脚本代替Image 和RawImage。
今天我发现其实unity自己已经做了这个功能了,不用写shader,也不用替换脚本,原生支持就是方便啊。
先看看我的图集,ETC1 压.... Read More >
2016
09-05
09-05
Unity3D研究院之将UI的点击事件渗透下去(九十)
处理UI还有3D模型的点击推荐使用UGUI的这套事件系统,因为使用起来比较简洁,不需要自己用代码来发送射线,并且可以很好的处理同时点击UI和3D模型上。
1.给3D摄像机挂一个Physics Raycaster组件。Event Mask过滤掉UI.
2.用unity自带的Event Tr.... Read More >