跳到主要内容

LOOK 音符 - 观察音符

概述

LOOK 音符需要玩家看向指定方向的音符。除了点击外,还需要调整视角面向指定方向。

技术规格

属性
类型值1
ZNear0
ZFar25
Java 枚举NoteType.LOOK

JSON 格式

{
"noteType": 1,
"beat": 4.0,
"pos": [0, 0, 0],
"scale": [1, 1, 1],
"rotation": [0, 0, 0],
"holdGroup": -1
}

字段说明

字段类型必需说明
noteTypeint固定为 1
beatdouble音符出现的拍数位置
posdouble[3][X, Y, Z] 坐标(数组格式)
scalefloat[3][X, Y, Z] 缩放(数组格式)
rotationfloat[3][X, Y, Z] 旋转角度(数组格式)
holdGroupint固定为 -1(LOOK 不参与长押组)

判定系统

判定窗口

判定类型时间窗口说明
PERFECT±110ms完美命中
FAST_GREAT110ms ~ 220ms偏快的大好
LATE_GREAT-220ms ~ -110ms偏慢的大好
MISS>220ms 或 <-220ms未命中

容差值

  • 空间容差: 0.15(TOLERATE_TAP_LOOK
  • 判定逻辑: 同时检测视角方向和点击时机

判定逻辑

LOOK 音符的判定比 TAP 更复杂,需要同时满足两个条件:

  1. 视角方向判定: 玩家的视线方向必须指向音符位置
  2. 点击时机判定: 点击时间必须在判定窗口内

LOOK 链式判定

LOOK 音符支持链式判定(chain rescue):

  • 如果当前帧已经有 LOOK 判定成功,后续的 LOOK 音符可以被"拯救"
  • 这允许玩家在快速连续的 LOOK 音符中保持判定

使用示例

基本 LOOK 音符

{
"noteType": 1,
"beat": 4.0,
"pos": [0, 2, 0],
"scale": [1, 1, 1],
"rotation": [0, 0, 0],
"holdGroup": -1
}

多个连续 LOOK 音符

[
{
"noteType": 1,
"beat": 4.0,
"pos": [0, 2, 0],
"scale": [1, 1, 1],
"rotation": [0, 0, 0],
"holdGroup": -1
},
{
"noteType": 1,
"beat": 4.5,
"pos": [1, 2, 0],
"scale": [1, 1, 1],
"rotation": [0, 0, 0],
"holdGroup": -1
}
]

与 TAP 的区别

特性TAPLOOK
判定条件仅点击时机点击时机 + 视角方向
链式判定不支持支持(chain rescue)
容差值相同 (0.15)相同 (0.15)
适用场景基础节奏点需要方向感的节奏点

注意事项

  1. LOOK 音符需要玩家主动调整视角,难度高于 TAP
  2. 链式判定可以提高连续 LOOK 音符的容错率
  3. 视角方向检测使用光线追踪,精度较高
  4. 音符位置会影响视角调整的难度

相关文档