很久之前写过一篇关于 VRTK 多 Canvas 画布重叠手柄射线穿透问题的文章,当时才疏学浅,没有找到解决方案。最近虽然不干 VR 了,但偶然研究了下,找到了比较完美的解决方案。 起因 起因请看这篇文章: VRTK重叠Canvas上UIPointer射线穿透的问题(Unity VR) 解决方法 以下 1、2……

最近在写 BUG 时经常发现 Unity 编辑器停止响应或卡死不动,凭借多年写 BUG 的经验判断,肯定是哪里有个死循环卡住了主线程。 模拟死循环 死循环(endless loop)是一种奇特的生物,它终日潜伏在年久失修的历史代码中,静静地等待出山的机会。 某天,当你无意间修改了某个参数,潜伏已久的死循环就立……

深夜睡不着,开始回忆之前做过的东西。恰巧知乎刷到了深度优先和广度优先的讨论,我想起了之前项目中一个不错的应用案例。 需求 模拟机电实验室,提供数量一定的电源、闸刀开关、电机启动器、滑动变阻器、电阻、电压表、电流表、用电负载等元件,元件有接线柱,每两个接线柱间自由连线。用户进入虚拟实验室,按电路图连接所需的元件……

之前本职工作是 Unity 开发,经常需要监听列表或字典的数据变化来更新 UI。本文介绍两种监听方法,其中使用 new 修饰符的方法比较常用。 new 关键字 new除了调用构造方法创建对象、泛型约束外,还可以作为修饰符使用,其作用是显式隐藏从基类继承的成员。 //To hide an inherited m……

项目上要实现 Unity 真实瞄准镜的功能,其中之一就是反射式红点瞄准镜。本文分析的 Shader 以模拟反射式瞄准镜光学原理的方式实现了较为真实的效果。 效果图 该图展示了从不同角度观看红点瞄准镜的效果。 红点瞄准镜原理 反射式红点瞄准镜的特殊之处在于不管眼睛和照门等是否三点一线,只要看到红点套在目标上,就……