视野
来自QQTWIKI
视野
◆怪物视野机制简介
游戏的许多地方都是由方格作为基本单位的(每个方格继续细分还能分为40x40个像素点)。
而所有怪物都拥有一个视野值("resent_dist"),这个值也是以方格距离作为单位的。
怪物的视野范围都是一个正方形。所以如果设某怪物视野为r,那么只要玩家中心与怪物中心的水平方向的差值和竖直方向的差值都小于等于r,即玩家中心处于以怪物为中心的边长为2r的正方形范围内,就会被这个怪物注意到,从而吸引对应怪物的仇恨,这只怪物将从此开始追踪玩家并释放技能,而且这个仇恨状态不会消失。(更严谨的数学定义见下方)
例如下图就是一个视野为2.5的怪物的视野范围:
特别地,如果怪物视野为0,则玩家永远不可能让怪物触发警戒;如果视野为0.5,则玩家必须和怪物位置重合才会触发怪物警戒。
一个值得注意的地方在于,所谓的地图格子的正位,即正中心位置,在坐标上的表现并不是整数,而是X.5。所以当怪物视野为整数时,怪物的视野范围并不是完美的整格子的堆积,而是会超出半个格子。但由于程序浮点数的精度丢失与波动,会导致刚好在边缘半格正位的玩家会有一定几率被怪物看到,从而造成不稳定。如果为了避免正位概率,则应在此基础上减去0.2,如原本3变为2.8。如果为了保证玩家在视野边缘外的所有格内完全活动自由且不会被引,则需要减去0.5,变成X.5格式,如原本3变为2.5。
数学定义
非负实数常量d称为某怪物的视野(Resent distance),如果其唯一的定义了以下仇恨条件:
仇恨条件
视域
定义
怪物的视域R (Resent Area)为关于时刻T的函数,且取值在非负实数二元组集的集合上。
准确的说,设怪物所在区域点集为D,则视域R(t)表示在时刻t满足上述仇恨条件的所有玩家位置的集合与D的交集。
视域上界
视域上界定理
- 设diam(X(D))与diam(Y(D))分布表示区域D在x轴与y轴上的投影长度,则:
- 0≤diam(X(R(t)))≤diam(X(D))
- 0≤diam(Y(R(t)))≤diam(Y(D))
