4.9k 4 分钟

# 前言 据说,前几天据说公司接到一个委托,可能要做 Kinect 相关的一些东西:比如小游戏或者其他一些功能之类的。 所以,就要用到 Kinect 了,平台么... 自然是 Unity3D 了。 曾经我也说过了吧,这个公司 Unity3D、UE4、AR、VR、MR..... 什么的大约都是要搞的,所以,昨天就研究了下 Kinect。 # 安装及配置 # 下载 首先,公司买的 Kinect 是 v2 版本的,百度一下 “Kinect V2” 看看图片就可明白了:左边一个摄像头模样,右边一个 XBOX 的图标。 还是来张图片吧: 首先,老样子。既然要开发,那就得下载 SDK 了。 Kinect...
2.7k 2 分钟

# 前言 前些天做大地图用到过一次,要求点大地图哪儿,就把玩家传送至点击的相应世界位置。而且这张大地图是事先截取好的图片。 要说来的话,这功能也还是 “前任” 留下来的,新公司之前的程序走掉之后,项目就留在那儿了,我来之后,才又开工的样子。 本来以为这地图应该稍稍改改就好了,结果鼠标点上去图标乱飞,人也不见了踪影.... 定睛一看,不但地图用的是 UE4 项目中截取的(这项目之前公司还用 UE4 做了一版,不过说是因为有些功能实现不了,才又换到 Unity 的),其中代码注意了下,也是 UE4 中类似的算法提过来的样子。 本以为应该很简单,很快就改好了.......
4.9k 4 分钟

# 前言 嗯,前几天开始用 UE4 做第一个 VR 项目了,HTC Vive 平台的。主要功能就是些互动:比如用控制器开开水龙头、开开关关电视、捡捡小东西、换换模型材质什么的..... 功能很简单,所以想到目前处于学习阶段,就决定全用 C 来实现。其它就不多赘述了,这篇 Blog 主要来说说 UE4 中使用 C 操作 UMG 吧。 儿主要用到 UI 的地方,就是替换材质的功能了。 首先,对于替换材质这个功能来说,模型上可替换的材质数量是不定的; 其次,在 VR 中,UI 必须制作成 3D UI 才能进行具体交互的,相较 2D UI 来说,要麻烦了一些 —...
4.3k 4 分钟

# 前言 在 U3D 中,因为主要是以 C# 为主,C# 原生支持事件、委托。用起来很方便,不但可以降低模块之前的耦合,而且它还可以提供一种优秀的性能提升方式:只有当值真的改变,并且必要的时候,对需要的对象进行通知,避免外部不断地对变量进行读取判断。所以也经常用到。 虽然委托是 C# 中的语法,C++ 标准语法里边虽然没这东西,不过在 UE4 中,被改造后的语法同样提供了相应的实现方法。 那么,接下来就来看看吧。 # 实现 # 委托 # 无参委托 对于声明非常简单,在类的声明之前,使用 DECLARE_DELEGATE...
1.4k 1 分钟

# 前言 上周最终还是找了份工作 —— 不过已经不是做游戏什么的了 —— 而是 VR、AR... 据说后面还有 MR 之类的。 虽然换了一份工作,待遇毫无长进 —— 毕竟现在行情似乎不大好,也没办法了。毕竟,稳定和可持续发展才是王道吧。 (好吧,我承认是为了继续待在重庆,然后重庆找不着合适的游戏公司了,加上考虑自己对 UE4 感兴趣,然后大家都在说 VR 后面或许发展比手游更好之类的,所以就毅然转行了) 上周入职之后,算是把 Oculus DK2、HTC Vive、Gear VR 摸了个遍 —— 当然是用 Unity,基本上接口不难,大半天就熟悉了。 而据说新公司主要是使用...
2.5k 2 分钟

# 前言 关于 Unity3D 中的各种优化方式,相信早已是个老生常谈的问题了,不少人都开过坑。 为了避免让人觉得不开坑的话,就好像不知道这些优化措施一样,索性我也来这么一次。 说到对游戏的优化,有过相关了解的人,首先应该知道公认的主要有三个方面:CPU、GPU、内存相关优化。 这三个方面,也即是关乎整个游戏运行效率的三个 “根” 节点。 好了,那么下面有请在无数示例中都有所贡献的 “Window 绘图工具”—— 我很想这样说,不过由于最后画出来发现因为太复杂,导致很难看,所以决定直接用文字排版算了 (我会注意按照相应顺序进行排版的)。 # 优化 # CPU...
7.6k 7 分钟

# 前言 这次记录的是 3 月 3 日的面试。 这是也第二次技术面试 —— 前一次的记录也写过,就是 2 月 14 号的那一次。 那么,以下是记录。 # 绪 这次是去的成都 —— 应该算是一个大公司吧 —— 具体细节就不透露了,因为看见面试之前填的一个单子还是有保密保证的。 3 月 2 日 (还是 1 号呢?),星期四投的简历,然后下午 7 点左右接到了通知,问明天 (3 月 3 日) 有没有空?毕竟现在都是自由之身,所以直接就回答 “应该有” 了。然后收到了一条面试短信,邀请第二天 2:30...
1.2k 1 分钟

# 前言 今天偶尔看见有人说:点乘除了用于判断向量之间的相似度之外,还可用于投影的计算。 于是稍微看了下,貌似还真是! 通过推导投影公式,若其投影得边向量为归一化向量 (在游戏中直接 Normalize 就好了),那可不就是么? 然后又推导了一下投影的公式,发现竟然可以算的上是 “异常” 简单了! # 原理 首先,来看一张简单的图片吧: 唔... 随便用 Windows 的画图工具画的,看看就好,差不多就是这样了。 其中: N 即为底边的归一化向量,已知; L 为斜边,已知; V 为 L 在 N 上的投影向量 —— 我们需要求出的也就是这个了。 那么,第一个很重要重要的一点是:既然 N...
12k 11 分钟

# 前言 首先说说,为什么在这种时候突然研究这个:因为,如同前面面试那章所说,“明明感觉有印象,就是说不出个所以然来了...”,寻路算法说实话,曾经我在看《游戏人工智能编程》那本书的时候,还是专门研究过一段时间的。面试的时候虽然问的 Navmesh,但是下来后我发现自己对 A * 的原理,也忘得差不多了... 项目不用,自己也不复习的话,时间会让它变成记忆里的渣渣的! 所以,这儿必须得复习一下了!之所以名字不叫 “A*”,是因为可能的话,我还是想先复习 A*,然后研究下 Navmesh 的具体算法。 另外,我想把这个做成一个工具 ——...
1.7k 2 分钟

# 前言 这个工具才做 MagicCivilizition 这个 Demo 的时候,很早就实现了。因为感觉 “挺好玩” 的,所以本来那时候就想发出来一下的,不过一推一推的,就... 游戏中,若是在 Editor 中的测试,貌似一般都是新加个测试脚本,然后挂上去,再弄个快捷键什么的 —— 这样很不方便吧?特别是很多时候涉及到一些比较复杂的测试,其灵活性与专门的控制台根本没法比。而且发布之后,“测试脚本” 这东西也肯定不能发出去的。 加之看到不少单机游戏,不少都具有一个专门的 “控制台”。 所以就想到了这个,另外,为了避免被 “玩家” 滥用,我实现的版本特别加入了 “权限” 要求,并采用 MD5...