此文件将描述ogkr文件(即音击谱面)里面的命令以及提供相关解释
注意,描述内容打上(?)
即表示此内容不确定也不清楚,不保证后面有所改变
目前版本:bright memory act.3 1.45
yy行为描述,xx行为具体示例命令内容
版本号
major
miror
release
VERSION
1
3
1
BPM定义信息
first
common
minimum
maximum
BPM_DEF
180
180
180
180
节拍信息
bunshi
bunbo
MET_DEF
4
4
TGrid.ResT*1
resT
TickResolution
1920
*1: TickResolution,物件时间轴长度基准值,用来参与物件的下落速度和物件之间的垂直距离计算",resT 一般情况下默认1920
XGrid.ResX*2
resX
XRESOLUTION
4096
*2: XResolution,物件水平位置宽度基准值,用来参与物件水平位置计算的
初始节拍声音速度*3
clickDefault
CLK_DEF
1920
*3: 就是开头几个节拍音效(?)
是否为教程
isTutorial
TUTORIAL
0
子弹伤害
damageBullet
BULLET_DAMAGE
1
强化弹伤害
damageHardBullet
HARDBULLET_DAMAGE
2
危险弹伤害
damageDangerBullet
DANGERBULLET_DAMAGE
4
激光伤害
damageBeam
BEAM_DAMAGE
2
T_TOTAL
所有物件判定总数量*20
T_TOTAL
2500
*20: T_TOTAL
= T_TAP
+ T_HOLD
+ T_SIDE
+ T_SHOLD
+ T_FLICK
PlatinumScore
= T_TOTAL
* 2
T_TAP
Tap类判定数量*24
T_TAP
595
*24: T_HOLD
= 所有Tap数量 + 所有Hold数量 - T_SIDE
T_HOLD
Hold类判定数量(包括长条中间的判定)*21
T_HOLD
1592
*21: T_HOLD
= 非墙壁Hold物件的数量
T_SIDE
墙壁Tap类判定数量*22
T_SIDE
132
*22: T_SIDE
= 墙壁Tap物件的数量 + 墙壁Hold物件的数量
T_SHOLD
墙壁Hold类判定数量(包括长条中间的判定)*23
T_SHOLD
58
*23: T_SHOLD
= 墙壁Hold物件的数量以及它长度判定数量
T_FLICK
Flick判定数量
T_FLICK
123
T_FLICK
BELL判定数量
T_FLICK
159
与Hold长条物量相关
progJudgeBPM*4
PROGJUDGE_BPM
240
*4: 此值与Hold长条物件数量成正比,值越高则Hold长条物量越多。 若<=1.00001f,则自动钦定为240
子弹模板
strID
Shooter*5
placeOffset (xUnit) *36
target*6 *32
speed
BulletSize*7
BulletType*17
randDiffPos*35
BPL
A0
UPS
0
FIX
1
N
CIR
0
*36: 先通过Target枚举计算目标位置,再加上placeOffset(和randDiffPos)才是实际子弹射向的位置.
*35: 表示子弹是随机弹,比如有射向X[24,0]的子弹,其子弹模板的randDiffPos为3,那么子弹实际射向X[21,0]~X[27,0]随机一个整数位置
*5:
Shooter枚举:
枚举值
枚举全名
解释
UPS
TargetHead
从子弹终点位置发出,即在BLT等命令的XGrid位置
ENE
Enemy
从敌人位置,可以配合ENS(EnemyLaneStart)轨道配合使用
CEN
Center
基于谱面中心,即X[0,0]
*6:
Target:
枚举值
枚举全名
解释
PLR
Player
射向玩家位置。target的位置就是子弹出现时,玩家的当前水平位置
FIX
FixField
射向对应位置。target的位置就是放置子弹的水平位置
*7:
BulletSize:
枚举值
枚举全名
解释
N
Normal
普通大小(默认 )
L
Lerge
加大版(是普通版的1.4x)
*17:
BulletType:
枚举值
枚举全名
解释
CIR
Circle
圆形子弹
NDL
Needle
针状子弹
SQR
Square
圆柱形(方状)子弹
BTP(Bullet Choice)(此命令没用到)
BPM变动
tUnit
tGrid
bpm
BPM
85
0
240
节拍变动
tUnit
tGrid
bunshi
bunbo
MET
0
0
4
4
ClickSE,播放节奏辅助音效
tUnit
tGrid
CLK
0
0
SFL(Soflan , change playback speed)*32
Soflan*8
tUnit
tGrid
tGridLength*9
当前速度倍率*33
SFL
0
0
240
1
*8: neta konmai的sof-lan
*9: 效果时效,超出这个时效时当前速度倍率会默认变回成1
*32: 对于BLT
和BEL
来说,它们一般也是受到变速影响。但如果它们引用的BPL
对象的Target
字段值为PLR
(Player)时。则不受变速命令影响(即当作它们soflan一直为1)
*33: 如果想要谱面开倒车,那么仅需要给它设置负数
播放敌人声音
tUnit
tGrid
tagTbl*10
EST
0
0
WAVE1
*10:
WaveChangeConst.Tag:
枚举值
解释
WAVE1
声音1
WAVE2
声音2
BOSS
Boss声音,在合适的地方设置这个值的EST命令可以进入小妹妹BOSS对战阶段。如果不放置,那么游戏会默认在谱面中间时间段放置
左墙起始物件
GroupId
tUnit
tGrid
xUnit
WLS
173
1
960
-24
左墙(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
WLN
173
2
960
0
左墙中止物件
GroupId
tUnit
tGrid
xUnit
WLE
173
3
960
0
右墙起始物件
GroupId
tUnit
tGrid
xUnit
WRS
175
1
960
-24
右墙(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
WRN
175
2
960
0
右墙中止物件
GroupId
tUnit
tGrid
xUnit
WRE
175
3
960
0
红线起始物件
GroupId
tUnit
tGrid
xUnit
LLS
175
3
960
0
红线(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
LLN
175
3
960
0
红线中止物件
GroupId
tUnit
tGrid
xUnit
LLE
175
3
960
0
绿线起始物件
GroupId
tUnit
tGrid
xUnit
LCS
175
3
960
0
绿线(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
LCN
175
3
960
0
绿线中止物件
GroupId
tUnit
tGrid
xUnit
LCE
175
3
960
0
蓝线起始物件
GroupId
tUnit
tGrid
xUnit
LRS
175
3
960
0
蓝线(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
LRN
175
3
960
0
蓝线中止物件
GroupId
tUnit
tGrid
xUnit
LRE
175
3
960
0
其他颜色中止物件
GroupId
tUnit
tGrid
xUnit
colorfulLaneColorID*15
colorfulLaneBrightnessID*16
CLS
175
3
960
0
11
2
其他颜色(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
colorfulLaneColorID*15
colorfulLaneBrightnessID*16
CLN
175
3
960
0
11
2
其他颜色中止物件
GroupId
tUnit
tGrid
xUnit
colorfulLaneColorID*15
colorfulLaneBrightnessID*16
CLE
175
3
960
0
11
2
*15: 虽然命令是"Colorful"但实际已经钦定好一系列自定义颜色了:
值
颜色名字
颜色预览
0
ColorfulLaneAkari
1
ColorfulLaneYuzu
2
ColorfulLaneRio
3
ColorfulLaneRiku
4
ColorfulLaneTsubaki
5
ColorfulLaneAyaka
6
ColorfulLaneKaede
7
ColorfulLaneSaki
8
ColorfulLaneKoboshi
9
ColorfulLaneArisu
10
ColorfulLaneMia
11
ColorfulLaneChinatsu
12
ColorfulLaneTsumugi
13
ColorfulLaneSetsuna
14
ColorfulLaneBrown
15
ColorfulLaneHaruna
16
ColorfulLaneBlack
17
ColorfulLaneAkane
18
ColorfulLaneG
19
ColorfulLaneAoi
*16: 亮度值,具体有多亮就是相对于按照用户选项里那个轨道亮度 + 3 , 比如 colorfulLaneBrightnessID = 2 , 则实际就是2 + 3 = 5
对面人物和杂鱼的移动轨迹起始物件
GroupId
tUnit
tGrid
xUnit
ENS
175
3
960
0
玩玩ぱくぱく☆がーる紫谱,看看对面江江抽风
对面人物和杂鱼的移动轨迹(可重复)中间物件
GroupId
tUnit
tGrid
xUnit
ENN
175
3
960
0
对面人物和杂鱼的移动轨迹中止物件
GroupId
tUnit
tGrid
xUnit
ENE
175
3
960
0
(?)
GroupId
Fore.tUnit
Fore.tGrid
Fore.xUnit
Fore.xGrid
Rear.tUnit
Rear.tGrid
Rear.xUnit
Rear.xGrid
LDP
173
92
1440
24
0
93
0
24
0
墙壁锁边
GroupId*30
Fore.tUnit
Fore.tGrid
Fore.xUnit
Fore.xGrid
Rear.tUnit
Rear.tGrid
Rear.xUnit
Rear.xGrid
LBK
173
92
1440
24
0
93
0
24
0
*30: 每个LBK只能锁一个边,至于锁哪边就看GroupId引用的墙的类型。比如你想锁左边的墙不想让人物超出这个边界,那么只需要LBK的GroupId设置成对应左墙的RecordId即可,但注意LBK有效持续时间应该在墙轨道的显示时间范围内。
Bullet
strId
tUnit
tGrid
xUnit
BulletType*18
BLT
A0
30
960
-24
NML
*18:
BulletType:
枚举值
枚举全名
解释
NML
Normal
使用BULLET_DAMAGE伤害
STR
Hard
使用HARDBULLET_DAMAGE伤害
DNG
Danger
使用DANGERBULLET_DAMAGE伤害
激光起始物件
recordId
tUnit
tGrid
xUnit
widthID*11
BMS
0
117
960
-40
4
激光(可重复)中间物件
recordId
tUnit
tGrid
xUnit
widthID*11
BMN
0
117
1500
-40
4
激光终中止物件
recordId
tUnit
tGrid
xUnit
widthID*11
BME
0
117
1500
-40
4
倾斜激光起始物件
recordId
tUnit
tGrid
xUnit
widthID*11
shootPosXUnitOffset*31
OBS
0
117
960
-40
4
5
*31: 以OBS的水平位置为基准,偏移XUnit个单位作为固定位置,向着当前时间内激光轨道的位置发射激光。因此只有OBS的shootPosXUnitOffset是有用的,OBN和OBE的shootPosXUnitOffset不会起作用
倾斜激光(可重复)中间物件
recordId
tUnit
tGrid
xUnit
widthID*11
shootPosXUnitOffset*31
BMN
0
117
1500
-40
4
5
倾斜激光终中止物件
recordId
tUnit
tGrid
xUnit
widthID*11
shootPosXUnitOffset*31
BME
0
117
1500
-40
4
5
*11:
widthID:
枚举值
对应的widthJudge
对应的widthDraw
1(default)
4
2
2
6
3
3
8
4
4
16
12
5
24
20
Bell物件
tUnit
tGrid
xUnit
bulletPallete*19
BEL
3
1440
4
-- 或 某个BPL的strID
*19: 如果钦定了bulletPallete,那么Bell就会像子弹一样可能实时位移和应用速度(比如 Op.1)。
FLK(Flick) or CFK(CriticalFlick)
(Critical)Flick
tUnit
tGrid
xUnit
Direction
FLK
or CFK
3
1440
4
L
or R
TAP or CTP/XTP*12 (CriticalTap)
(Critical)Tap
laneGroupId*13 *14
tUnit
tGrid
xUnit
xGrid
TAP
or (CTP
= XTP
)
72
11
1440
24
0
*12: XTP全名ExTap,但等同于CTP(CriticalTap)
HLD(Hold) or CHD/XHD*15 (CriticalHold) *34
(Critical)Hold
laneGroupId*13 *14
Fore.tUnit
Fore.tGrid
Fore.xUnit
Fore.xGrid
Rear.tUnit
Rear.tGrid
Rear.xUnit
Rear.xGrid
HLD
or (CHD
= XHD
)
151
1
1200
-12
0
1
1680
-12
0
*15: XHD全名ExHold,但等同于CHD(CriticalHold)
*13: Tap/Hold需要引用Lane的GroupId,但引用这货仅仅是为了钦定物件的颜色和类型
*14: 墙壁也是Lane一种,因此墙壁Tap/Hold也是按照此命令引用墙壁的GroupId即可
*34: Hold音效音量大小受当前Hold条位置影响且自带混响效果,当前Hold条位置离初始Hold位置越远,Hold持续音效音量越小。如果存在多个Hold,则按距离最远的计算