摘要:
出处: https://answers.unity.com/questions/366802/get-intersection-of-a-line-and-a-circle.html 测试脚本(返回值为交点数量): 阅读全文
摘要:
1.前言 近期在整理CommandBuffer这块资料,之前的了解一直较为混乱。 算不上新东西了,但个人觉得有些时候要比加一个摄像机再转RT廉价一些,至少省了深度排序这些操作。 本文使用两个例子讲解CommandBuffer如何使用,但在此之前稍稍总结一下官方CommandBuffer的案例。 2. 阅读全文
摘要:
之前遇到一个问题要从MeshCollider背面方向发出射线,直至检测到该射线与MeshCollider的相交点为止。 后来我用双面MeshCollider的方法解决了http://www.cnblogs.com/hont/p/6628841.html 但是这样又会导致许多其他问题,因为构建出来的双 阅读全文
摘要:
在《游戏编程精粹1》的4.7中,原文主要解决赛车游戏的路程确定问题和光照插值问题。 但原文中没有提及如何判断四边形区域是否包含的问题,只有提到point-in-sector这个函数名称 实现是T和L两部分做向量投影,但是不乘以最终方向矢量,而是以两边的点乘结果求得比例。 那么我对其做了一些修改,改成 阅读全文
摘要:
在Unity中挂载Renderer的对象可以使用OnBecameVisible/OnBecameInvisible来接收剔除事件。 但是非Renderer对象则要自己处理相交检测。 文中的方法测试结果比Unity的GeometryUtility效率要高一倍左右,且没有GC。不过只支持圆柱 下面是直接 阅读全文
摘要:
这是一种避免一次性生成所有内容的可预测随机数实现 原文使用了简易的随机数生成算法来生成,可以支持的最大数字是uint型的最大值4294967295。 文中提到的宏无限分解和微无限分解指的是用种子生成的随机结果再作为种子继续生成,细化到具体星球,植被等等。 这样当玩家在任意坐标区域内,只需要生成附近一 阅读全文
摘要:
在《游戏编程精粹1》里的1.10处讲解了位数组的应用,原文意把位操作变为类似数组的形式,从而更加直观。 (注意C#中已经内置这种数据结构,叫做BitArray) 不过我联想到是否可以设计一个位锁的概念。 我遇到过这样一个问题,游戏中有一些模块的参数必须在所有使用者都结束后才可以被释放。 例如时间系统 阅读全文
摘要:
来自《游戏编程精粹1》寻路部分文章,使用CatmullRom插值来达到平滑,算是对书中内容的练习。 using UnityEngine; using System.Collections; public class Practice : MonoBehaviour { public Transfor 阅读全文
摘要:
参考自《游戏编程精粹1》多边形相交部分,用该方法除了知道是否相交以外还可以得到相交点,从而用于其他判断。 原文用到了平面方程的基本式Ax+By+Cz+D=0,求出线段2点p0和p1的D值,用D值转换成比值最后插值得到坐标 不用平面方程其实也可以用向量投影解释。 其中一些公式计算直接做了优化,没有生搬 阅读全文
摘要:
涂抹还是满常见的效果。 要做涂抹,首先要存一张中间贴图作为mask。 然后需要两个shader,一个做mask一个做混合。 MaskShader: BlendShader: 脚本(核心部分): 2018/11/18补充:近期实现了对涂抹像素的判断操作,涂抹到一定程度后则完成擦除: https://w 阅读全文