在玩《战地 2042》时发现一个模拟 RGB 像素显示的大屏幕:远观内容为完整图像,贴近观察是发光的 RGB 像素点。该效果很有趣,在 Unity 中复现一个玩玩。 实现的效果 截图 动图(GIF) 本文包含的内容 本文用 Unity 实现,但部分内容参考自 Youtube/Jam2go 的 Unreal E……

很久之前在某 3D 滑动列表中用过模板测试(Stencil Test),这次回顾,尝试用它搞一个双面穿越门出来。 效果 原理 把一个值写入 Stencil Buffer 中,后续同位置的其他片元渲染时,若开启了模板测试,将会把自身的预设值与 Stencil Buffer 中的值对比(即 Test),基于比较结……

想在 Unity 中显示 Android 界面,但又不想导出 Unity 工程在 Android Studio 里编辑,于是探索将 Activity 导出到 AAR 包,用 Unity 编译打包的方法。 说明 本文介绍了通过 Unity Editor 打包含 Android Activity 在内的多 Act……

与安卓接口对接时,常使用UnityPlayer.UnitySendMessage给 Unity 发送一些消息。如果 App 进入后台,安卓端代码即使正常执行,Unity 方法也不会被调用。 问题描述 当应用进入后台一段时间后,即使安卓端 Java 代码正常执行,但其调用的UnityPlayer.UnitySe……

在 Unity 2018.4 及以下版本中,偶现在悬浮状态(hover)时隐藏并再次显示该 UI 后,高亮状态不重置的问题,其中以 Button 居多。 问题描述 UGUI 按钮 A,点击时隐藏自身(SetActive(false))。之后通过其他方式将其开启,发现 A 仍然保持高亮状态,并没有重置。 此情况……

在 Unity 中使用安卓 AAR/JAR 插件时,如果在主线程中调用安卓 java 方法,可以正常调用,但新开一个线程调用时,将会闪退。这里记录下解决方法。 问题复现 有如下测试代码,生成一个安卓对象,并调用其 JAVA 实例方法 TestFunc。 1.同步调用(正常) 在 Unity 主线程中调用安卓方……

偶然看到一个网站有三维地形展示栏目,描述说用 Unity + 灰度图做的,看着挺有意思,就顺便研究下相关的东西。 效果图 我没有对应的实景贴图,因此使用了粒子的 Shader 做颜色渐变用于演示。 基础知识 1.点线面及Mesh 点构成线,线构成面,面及其相关顶点、额外信息等构成 Mesh。在现代 3d 渲染……

前言 经常碰到一些不需要精确碰撞的不规则模型,此时只需要一个BoxCollider把它和它的子物体包裹进去即可。 手动加碰撞盒非常麻烦,不仅中心点不准确,大小也需要手动调整。而利用Renderer组件,可以获取模型的渲染大小及中心点,经过简单的计算就可以自动生成合适的BoxCollider。 实现 1.关键方……

前言 之前有个需求,要求一个或多个物体按照规定的路径移动。我根据灵魂重新大神所写的脚本做了一点点修改,最终完成了这个需求。 原理 本文内的简单移动不涉及曲线等复杂的东西,所以可以用一个数组保存移动的坐标点,而后通过计算位移坐标的方式依次移动。 实现 1. PathDefine.cs PathDefine脚本用……

该文章是《Unity直升机飞行HeliHell源码分析》系列文章的第二篇。 源代码下载及前文请见《Unity直升机飞行HeliHell源码分析(1)-摄像机缓动跟踪》。 铰链关节 飞行效果主要通过铰链关节实现,首先分析本项目中铰链关节的结构: 层级视图中可以找到一个空物体ChopperControllerHu……