201812-26 Unity3D研究院之被坑了的浮点数的精度(一百零三) 最近被浮点数坑了,所以一定要写篇文章记录下。先看看如下代码 [crayon-674f360054987869333883/] 通过上面代码,我们可以发现float和uint(为了取最大值,这里就用无符号整形)都是4字节,那么为什么float的取值范围要比int大呢?继续再看一段代码 [cray.... Read More >
201812-10 Unity3D研究院之手机上保存Profiler与提取查看(一百零二) 手机上可以把一段时间的profiler日志保存在本地,接着在手机里把文件取出来就可以在电脑上查看了,很方便,上代码,在需要保存手机Profiler日志的时候调用 ProfilerUtils.BeginRecord();并且我已经封装好了。 [crayon-674f3600572608982696.... Read More >
201810-31 Unity3D研究院之IOS在Windows上查看日志就像Android的adb一样方便(一百零一) 我以前写过一篇 Unity3D研究院专治IOS查看日志各种不服(九十五) 但是今天无意间发现了一个工具iOSLogInfo,这个工具比之前的做法更好更方便。 下载地址:https://www.blackberry.com/blackberrytraining/web/KB_Resources/.... Read More >
201810-24 Unity3D研究院之运行时合并ETC1、ETC2、ASTC、DXT1、DXT5、PVRTC贴图(一百) 今天是2018年10月24日,祝大家程序员节快乐。 游戏中一旦有换装功能,角色可能就会是多个DrawCall了,所以我们可以将部件的贴图动态合并在一张中。如果想合并PVRTC2或者PVRTC4可以参考我上一篇文章。Unity3D研究院之IOS运行时合并PVRTC贴图(九十九) https://.... Read More >
201810-23 Unity3D研究院之IOS运行时合并PVRTC贴图(九十九) 游戏中一旦有换装功能,角色可能就会是多个DrawCall了,所以我们可以将部件的贴图动态合并在一张中,本文聊聊PVRTC2bit 和 PVRTC4bit 贴图合并的方法。先看看PVRTC贴图的排列方式。 核心方式是Texture2D.GetRawTextureData()获取贴图的原始.... Read More >
201810-14 Unity3D研究院自动注入代码统计每个函数的执行效率以及内存分配(九十八) 以前用UWA和WeTest的工具来查看代码效率,他们都能提供我们代码每个函数的统计效率,然而并不需要我们做什么,所以我就在想如何实现一个类似他们的功能? Unity提供了Profiler.BeginSample();Profiler.EndSample();方法来统计代码效率,但是有两个问题 .... Read More >
201809-30 Unity3D研究院GPU Instancing实战(九十七) 最近将GPU Instancing应用在游戏中,遇到了一些坑和大家分享一下,我们用的版本是unity2017。前面说了GPU Instancing目前适合游戏中的草、石头等元素较多的地方。 首先需要开发一个刷地表的编辑器,试想一下如果场景上的草每个都要美术手动的去摆这得多麻烦啊,如下图所示,根.... Read More >
201809-22 Unity3D研究院编辑器之获取粒子准确数量(三十) 最近在做一些辅助工具帮助特效师在开发特效的时候可以知道当前已经用了多少的粒子数,然而Unity也提供了这样的预览面板,但是看起来特别不方便。关键是很多特效都是粒子+mesh结合使用的。而且我又发现particleCount api提供获取粒子数量并不是很准,不能及时获取当前的粒子数量。 .... Read More >
201809-03 Unity3D研究院GPU Instancing测试 GPU instancing 很早就支持手机了(Android只支持Opengl ES 3.0),但是我一直不知道将它应用到哪里,刚好最近在调研这个我对它又重新测试了一下。 如果是不动的物体勾选static静态合并批次(40-50帧率) 自定义Shader中勾选Enable GP.... Read More >
201805-15 Unity3D研究院之旧版本Unity使用新版本XcodeAPI 由于目前Unity的项目比较老(Unity5.x),自动打包Xcode持续集成的时候遇到了问题, 因为PBXProject有些方法旧版本没有,今天我无意间发现一个巧妙的方法解决它。 https://bitbucket.org/Unity-Technologies/xcodeapi 将最新.... Read More >
201805-03 Unity3D研究院新方法加快代码编译速度(九十六) 之前可以将核心框架代码放在Plugins目录下,只要不修改该目录下的代码,就不会造成重新编译从而加快编译速度。新版本的Unity引入了一个新概念,Assembly可以将目录下(包括子目录)下的所有cs代码编译成DLL,这样就可以进一步加快编译速度。 Create->Assembly De.... Read More >
201804-28 Unity3D研究院专治IOS查看日志各种不服(九十五) 测试拿着IOS手机过来说这里有个问题,能看看日志吗? Android上连上logcat可以很方便看日志,但是IOS就没办法。几年前我写过一篇文章通过写日志的方式保存在本地 http://www.xuanyusong.com/archives/2477 后来ios把这个功能封了,无法.... Read More >
201803-20 UGUI研究院之iPhoneX自适应分辨率(三十一) 最近把游戏的iPhoneX自适应做完了,并且已经过了审。我的做法是每个界面的最上层都是一个横纵Stretch自动拉伸的,检测当发现是iPhoneX时,打开界面代码中自动设置 Left Top Right Bottom 为44. 由于我们用的是Unity5.5.4,并没有方法来判断是.... Read More >