• 改名啦改名啦~ 2018-07-05 分类: 随笔

    有的朋友可能知道我有另一个网名——纸箱猪。我现在越来越喜欢这个名字,所以决定将这个名字用作自己常用的中文网名。“子子翔的技艺空间” 也会改名为 “纸箱猪的技艺空间”(不过我的独立站点的名字倒是早就改了)。英文网名嘛,还没有。不过我觉得 Box Pig 也不错。

    顺便再给自己的各种个人空间打遍广告:

    我的个人独立站点:http://zxtechart.com/

    我的 CSDN 技术博客:https://blog.csdn.net/zzxiang1985

    我的 github:https://github.com/zzxiang

    公司的主策云海发挥了他许久没捡起的像素画功,友情为我画了一张纸箱猪御用 Logo:

    其实我原来用的头像也是原创的。那是我在学素描的时候,用 Blender 观察研究阴影时渲染出来的一张图:

    最近有两个月没打理个人空间,都要长出杂草了。其实近来收获和感想都不少,憋了挺多东西想写的。无奈实在是忙得不可开交。在学校上学的同时还做着三份工作,参与教会服侍,最后挤时间写自己的小项目。于是时间和精力管理成了我现在的最大课题。

    说起来前段时间我个人做的 WordPress 插件收到了第一个差评,也陆续堆积了很多用户反馈,但是一直没来得及处理,心里也有点愧疚。果然开源项目一做起来,支撑着自己做下去的不但有兴趣,还有责任。

    修炼之旅还在继续,我会加油。虽然来我空间做客的朋友少之又少,但是你们的一点点关注也让我的修炼之旅不至于那么孤单。谢谢你们 ^_^

  • 将 Excel 表格导入 Unity 项目 2018-04-29 分类: 技术

    在游戏开发过程中,策划往往会在 Excel 中配置游戏数据,比如物品、技能和 NPC 的属性等。因此如何将 Excel 里的数据导入到游戏中是游戏开发的重要课题。

    朴实的方法:另存为 csv

    比较朴实的方法是将 Excel 文件另存为 csv 文件,然后程序员写代码解析 csv 文件。可以将 csv 转换成游戏程序可以识别的格式,比如 Unity 的 ScriptableObject 或是一个硬编码的 C# 数组,即一份 cs 文件。甚至也可以在游戏运行时才读取 csv 文件。

    这种方法的优点是要解析的文件格式(即 csv)很简单,不用引入第三方库,程序逻辑也就比较简单。缺点是每次编辑完 Excel 文件还要另存为 csv ,这对日常工作来说颇为繁琐,而且每次“另存为”也只能导出一份 Excel 文件,无法对多份文件执行批量导出。

    (更多…)

  • 用 Animation 实现匀速旋转 2018-04-12 分类: 技术

    年初参加 GGJ 的时候,我曾想偷懒用 Animation 实现物体的匀速旋转。思路很简单,只需要0度和360(或-360)度两个关键帧,然后将动画设为循环播放。当时以为这样事情就成了。谁知做出来的效果是下面这样,物体转完一圈后会停一下:

    我知道问题就在动画曲线上:

    只要把曲线弄成一条直线就行。

    但是当时折腾了一会儿也没调出一条漂亮的直线,因此还是改用代码来实现匀速旋转。今天发现其实根本不用手调,只要右键单击,把起始关键帧的 Right Tangent 和结尾关键帧的 Left Tangent 改为 Linear (线性)就可以了:

    完美:

    其实以前也知道 Free、Linear 和 Constant 这几个选项,但从来没用上也没真正理解它们的用处。如今才知道是怎么回事,至少理解 Linear 了。

    Unity 版本:2017.3.1f1

  • Aspect Ratio Fitter 和 Image 2018-04-10 分类: 技术

    UGUI 里面 Aspect Ratio Fitter 的作用是保持一个 UI 控件的宽高比。然而 Image 自身就有一个 Preserve Aspect 属性用于保持自己的宽高比。因此起初我就想 Image 是不是就用不上 Aspect Ratio Fitter 了,或者说 Image 自身的 Perserve Aspect 的属性是不是多余的。后来发现并不完全是。

    前段时间遇到一种情况必须要使用 Aspect Ratio Fitter 。

    在下图中,Bubble、Text 和 Text (1) 是文字冒泡的 UI 控件。为了让文字冒泡的位置始终对准背景图片中的人物头顶,我给文字冒泡的各个控件设置了锚点。

    Bubble 即冒泡框相对其父节点 Image(背景图片)设置了锚点,目的是不管 Image 大小如何变化,都要让冒泡框对准背景图片里面人物的头顶。

    如果只是依靠 Image 的 Preserve Aspect 属性,那么文字冒泡是无法在 Image 大小改变的时候时刻对准背景图片里的人头的:

    这是因为 Preserve Aspect 虽然能保持图片的宽高比,但却并不能保持 Image 的 Rect Transform 的宽高比。然而锚点却是基于父控件的 Rect Transform 的边界来定位的。

    在这种情况下就必须给 Image 挂载 Aspect Ratio Fitter,此时 Preserve Aspect 勾不勾都是无所谓的。

    Image 挂载了 Aspect Ratio Fitter 后就可以保持 Rect Transform 的宽高比,从而让文字冒泡时刻对准图片里的人头。

    Preserve Aspect 的意义主要在于游戏开发者不用关心图片宽高比的具体数值,以及宽高比保持的方式。毕竟使用 Aspect Ratio Fitter 的话,开发者不但要填入具体的宽高比数值,而且要决定控件要如何保持宽高比——是高度固定,还是宽度固定,还是尽可能被包含在父控件区域内,等等。

    Unity版本:2017.3.1f1

  • 被NTFS的bug困扰了一个多星期 2018-04-10 分类: 技术

    这篇文章其实写于2012年5月2日。原文是发表在我的CSDN博客上:《被NTFS的bug困扰了一个多星期》。昨天收到一条评论说文章写得太有趣了。于是把文章又读了一遍,感觉的确是一段宝贵有趣的回忆。因此不禁想把它搬到自己的个人站点上做个备份。珍贵的东西放在别人家里总是怕不知哪天就被丢掉了。其实我的CSDN博客上还有几篇我自认为更有趣的故障排除类的日志,有空时也会一篇篇搬过来。

    原文发表的时候还是Windows 7的年代。当时微软也已经就文中提到的bug发布了补丁。如今已经是Windows 10的年代,虽然我没亲自验证,但这个bug在Windows 10上估计已经不存在了吧。

    // ========= 一点也不华丽的分割线,以下是原文 =========

    (更多…)

点击查看所有文章 >>