201608-02 Unity3D研究院之Prefab不挂脚本保存数据 今天和同事一起发现了一个新科技,我们想在Editor下不给Prefab挂脚本,但是又想保存一些信息到Prefab上。 通过AssetImporter可以把数据保存在userData上,它是get set属性。 [crayon-673efdf702b4f237516124/] 这样最终数据会.... Read More >
201607-20 Unity3D研究院之获取BoxCollider八个点的世界坐标 我们想把场景中的BoxCollider的坐标点导出出来让服务器也能用。虽然BoxCollider自身的大小可以获取出来,但是如果有父对象,并且有坐标的变化那算起来就比较麻烦了。还好unity提供了一个方法,真的很便捷。如下图所示,我用了8个标记点来标记获取到的boxcollider的坐标。旋转、缩放.... Read More >
201607-13 Unity3D研究院之Inspector面板枚举的别名与排序(八十九) 虽然mono是支持unicode的。可以在枚举里写中文,但是我还是觉得写英文好一些。可是在编辑器上策划是希望看到的是中文的,还有就是枚举的展示排序功能,策划在编辑的时候为了方便希望把常用的枚举排上前面。 把如下代码放到你的工程里就可以直接用了。 [crayon-673efdf70673287.... Read More >
201606-29 Unity3D研究院之查找资源被哪里引用了 Unity提供了一个方法 AssetDatabase.GetDependencies(),但是它只能查找这个资源引用了那些资源。 但是我想要的是查找某个资源被那些资源引用了,这是两种相反的查找公式。 其实网上也有很多这样的插件了,似乎代码量都太多了。昨天晚上加班时脑洞打开,想到了一个简单的方法。通过.... Read More >
201606-06 Unity3D研究院之限制某些脚本不能随便在Editor模式下绑定 Unity中,只要继承MonoBehaviour的脚本都可以任意挂在gameObject上。但是有些脚本可能我并不希望在Editor模式下任意被绑定,或者我只希望某些特定的gameObject才能绑定一些脚本。 编辑模式下添加脚本一共有两种方法, 1、使用鼠标拖拽到某个gameObjec.... Read More >
201605-31 Unity3D研究院之meta文件里timeCreated变化导致SVN改变 Unity5的meta文件格式中增加了一项timeCreated 一般也没啥问题。但是如果我想用代码去生成一些文件,为了避免删除的情况,肯定是先清空文件夹下的所有文件然后在生成。 这样就出现个问题。因为把文件夹清空了。所以重新生成文件以后meta里的timeCreated就变化了。。这个太蛋疼.... Read More >
201605-17 Unity3D研究院之获取某个方法执行的时间 我想在一帧内获取某个方法的总执行时间。开始想用Time.time减去之前保存的时间。但是发现在一帧内永远返回的是0,多帧的话可以,看来Time.time只会在每一帧赋值更新一次,所以一帧内的就取不到了。 然后查了一下c#有一个Stopwatch的类可以帮我们记录时间,使用起来也挺便利的。。 .... Read More >
201605-16 Unity3D研究院之利用unity自带API提前合并场景Mesh 版本:Unity5.3.3 Unity自带了合并Mesh的功能,最简单的做法就是在Root节点勾选static选项,它的原理就是运行时合并。但是最近我在开发的时候就遇到了问题,因为我们场景非常庞大,Mesh的顶点不能超65535所以Unity会自动把合并的mesh分成了很多分mesh,总之顶点.... Read More >
201605-10 Unity3D研究院之过滤多余的材质 Unity可以勾选static来进行静态合批, 运行时也可以 StaticBatchingUtility.Combine()来进行合批。但是你仔细观察一下。。 如下图所示,这里我有两个相同Shader、相同参数的材质。 我都勾选了static以后运行发现dc还是会多一个。因为u.... Read More >
201604-28 Unity3D研究院之Android同步方法读取streamingAssets(八十八) 版本Unity5.3.3 Android 小米pad1 首先非常感谢 @守着阳光 同学在下面的留言。让我解决了一个大的谜团。。 开始我知道 StreamingAssets 路径是这个 path = "jar:file://" + Application.data.... Read More >
201604-26 Unity3D研究院之5.x自带API打包xcode添加framework、plist 之前项目一直在用XUPorter 。今天无意间发现其实Unity已经帮我们实现了一套。如果你用的unity4.x开发,可以把它的代码放到你的工程里用。https://bitbucket.org/Unity-Technologies/xcodeapi 如果你用的是unity5.x开发,那么unity已.... Read More >
201604-20 Unity3D研究院之Editor下监听Transform变化 美术有可以直接在Editor下操作Transform,我想去修正他们编辑的数值,所以我就得监听Transform。 [crayon-673efdf714faf284044594/] .... Read More >
201604-13 Unity3D研究院之UGUI一个优化效率小技巧 无意间发现了一个小技巧。如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题。 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarg.... Read More >