原文Storyboarding by Scripting
英文不好,翻译可能有不准确的地方,各位有发现问题我会马上修改
在edit里怕SB设置无法做到精确?那么就该尝试一下脚本修改了~
脚本编辑的好处就是可以精确改动,另外,像单一变量(时间,大小等)的变动也是相当方便的
也有很多在常规edit中无法用到的功能,像颜色改变,动画间隔时间等
"【】"内为我的说明,与原文无关
故事版脚本
在osu.文件里,[Event]:之下
注意:下划线_可以用空格替代
静态画面和动画
静态画面
动画
对于动画,指定一个文件名,比如"sliderball.png",然后把他们按从"sliderball0.png"到"sliderball9.png"这样的方式依次命名,以做出一个10帧的动画【实际上并不是非要10帧,2帧,3帧或者以上都是可行的】
【以下将是对上面方框内代码的解释】
frameCount:动画中的帧数
frameDelay : 帧延迟,每帧之间的延迟(单位:毫秒)
looptype【动画循环模式】 : 默认LoopForever【一直循环】
LoopForever - 一直循环
LoopOnce - 动画播放一次并结束在最后一帧
层叠次序由文件在osu.中出现的位置决定,最前面的故事版事件会在其他任何事件的层之后.如果故事版事件"A"代码在"B"之前,那么"B"会在"A"前一层.
layers:【层】:
Background【背景】
Fail【失败,即休息时出现X】
Pass【通过,即休息时出现○】
Foreground【前景】
注意: Background和Foreground层总是可见的
origin: 【初始点】
TopLeft【左上】
TopCenter【上方正中】
TopRight【右上】
CentreLeft【中左】
Centre【中央】
CentreRight【中右】
BottomLeft【左下】
BottomCentre【下方正中】
BottomRight【右下】
所有旋转和大小改变(包括矢量缩放)都受初始点影响
filepath: 【文件路径】图片文件的相关路径(应和osu.在同一目录下)
注意: 如果文件名中有空格,文件路径必须用双引号引用
x, y: 图片的位置
注意: 玩的区域是(640,480)到(0,0)【(0,0)为左上角坐标,意思是不要让坐标超过这个区域,下同】
event type:【事件类型】
F - fade【隐藏(淡入淡出)】
M - move【移动】
S - scale【缩放】
V - vector scale (width and height separately)【矢量缩放(宽高分别变动)】
R - rotate【旋转】
C - colour【颜色】
L - loop【循环】
T - Event-triggered loop【事件触发循环】
P - Parameters【参数】
easing:【缓冲】
0 - none【没有缓冲】
1 - start fast and slow down【开始快结束慢】
2 - start slow and speed up【开始慢结束快】
starttime, endtime: 【开始,结束时间】
params:【参数】
startopacity: 动画的初始可见(透明)度
endopacity: 动画的结束可见(透明)度
0 - 不可见, 1 - 完全可见【这里这个数字参数0-1之间的小数是可以的,感谢abalee提醒】
startx, starty: 动画的初始位置
endx, endy: 动画的结束位置
注意: 玩的区域是(640,480)到(0,0)
startscale: 动画的初始比例
endscale: 动画的结束比例
1 = 100%, 2 = 200% 等等. 小数位也是可行的
startx, starty: 动画的初始位置比例
endx, endy: 动画的结束位置比例
1 = 100%, 2 = 200% 等等. 小数位也是可行的
startangle: 动画的初始需要转动到的角度的弧度
endangle: 动画的结束时需要转动到得角度的弧度
正角顺时针旋转
r1, g1, b1: 启动时动画元件的颜色
r2, g2, b2: 结束时动画元件的颜色
(255,255,255)的静态图片将会呈现他们原本的颜色,(0,0,0)上网图片将完全是黑色.这两者之间的任何数值都将形成减色(subtractive colour)【其实就是三原色的数值,(红色,绿色,蓝色),用过photoshop等图像处理软件的应该很熟悉这个,关于这个的使用可以参照我的AKB48 - Flying Get中灯光的使用】
startx: 动画的初始x坐标
endx: 动画的结束x坐标
starty: 动画的初始y坐标
endy: 动画的结束y坐标
_P,[...],p
p: 应用的影响参数:
H - 水平翻转
V - 垂直翻转
A - additive-blend colour (as opposed to alpha-blend)【请参阅以下资料来了解这个效果
http://shiba.hpe.sh.cn/jiaoyanzu/wuli/s...&classId=4
http://dev.gameres.com/Program/Visual/2D/alpha.htm
(感谢emergist提供的链接)】
用以下的简写参数也是可行的,应用的参数只在动画持续期间生效
shorthand:【简写】
这个符号可以用来快速的把同一时间间隔的大量事件改写为脚本code
将会创建事件:
等等
shorthand2:
这个符号可以在事件开始和结束时间相同时使用
将译为
请注意结束区域的空白区 - 这是必须的
shorthand3:
这个符号可以在事件初始值和结束指相同时使用
将译为
Looping 循环
Standard Loops标准循环:
循环会以设定好的数字图片清晰地不断重复
time difference: 循环开始的时间和此系列SB事件第一次生效的最初时间之间的时间差, 单位是毫秒
loopcount: 动画循环次数
例, 如果想要把
Trigger Loops事件触发循环:
事件触发循环可以被游戏时间事件触发. 虽然叫做循环, 事件触发循环循环时只执行一次
start: 触发器可用的时候
end : 触发器结束可用状态的时候
现在支持的触发器有:
HitSoundClap
HitSoundFinish
HitSoundWhistle
Passing
Failing
触发器循环和普通循环一样是从零计数. 如果两个重叠, 第一个将会被停止且被一个从头开始的循环替代.
如果他们和任何存在的故事版事件重叠,他们将不会循环直到那些故事版事件不在生效
【我有在我的Yanzi Sun - Meng Bu Luo (Dream Never End)中用到这个,四边的SB就是用的clap和whistle触发SB,可以打开osb文件参考】
Sound effects SB 自定义音效【感谢之前yaya,gdeath和abalee给与我的指点】
【2011/8/29 EDIT : 现在ranking guideline不建议使用SB音效, 能不用的时候尽量避免使用以免被喷】
time 时间: SB自定音效开始的时间(单位毫秒)【就是edit中左下的数字,注意如果是一分钟以上,如1:20:025,那么1分钟要换算成60秒即time设置应为80025而非120025】
layer 层:
Background = 0
Fail = 1
Pass = 2
Foreground = 3
filepath 文件路径: 声音文件【wav格式】相关路径(应和osu.文件在同一文件夹目录下)
注意: 文件路径必须双引号引用
volume音量: 声音文件音量 (1-100)
【我的Girls' Generation - It's Fantastic中有用到很多SB sound,这个每个难度不同,所以需要参考的话应该打开每个难度的osu文件,然后在Events之下的Storyborrd sound sample下】
Variables 自定义变量
现在自定义变量也可用,你可以在osb.文件里定义自己的自定义变量(暂时不支持osu.文件的SB)
一旦你自定义了变量,你可以在故事版中的"任何地方"使用他们.
暂时请不要自定义太小的变量(比如, 不要赋值 $var=1)因为编辑器还没聪明到在它保存时知道把变量如何保存.【意思是变量太简单的话,因为保存时会把所有变量按自定义变量保存,所以太小的变量可能出现替换问题】所有事件变量会在保存时被自定义变量代替(所以如果你有一个地方用了 $white而另外一个地方用的 255,255,255 他们在编辑器中会都被保存为$white)【peppy的Baby Cruising Love中颜色的改变就用了自定义变量】
2013.7.22 EDIT:新版本支持宽屏的SB效果,但只有应用了旋转效果的部件会宽屏显示,如果想要全部图片都是宽屏效果的吧要在每个部件的代码中加上
【至此,翻译完毕,如有疑问请提出,我会尽我所能解答】
英文不好,翻译可能有不准确的地方,各位有发现问题我会马上修改
在edit里怕SB设置无法做到精确?那么就该尝试一下脚本修改了~
脚本编辑的好处就是可以精确改动,另外,像单一变量(时间,大小等)的变动也是相当方便的
也有很多在常规edit中无法用到的功能,像颜色改变,动画间隔时间等
"【】"内为我的说明,与原文无关
故事版脚本
在osu.文件里,[Event]:之下
注意:下划线_可以用空格替代
静态画面和动画
静态画面
Sprite,"layer","origin","filepath",x,y
_event, easing, starttime, endtime, [params]
_event, [...]
_event, [...]
动画
Animation,"layer","origin","filepath",x,y,frameCount,frameDelay,looptype
_event,easing,starttime,endtime,[params]
_event, [...]
_event, [...]
对于动画,指定一个文件名,比如"sliderball.png",然后把他们按从"sliderball0.png"到"sliderball9.png"这样的方式依次命名,以做出一个10帧的动画【实际上并不是非要10帧,2帧,3帧或者以上都是可行的】
【以下将是对上面方框内代码的解释】
frameCount:动画中的帧数
frameDelay : 帧延迟,每帧之间的延迟(单位:毫秒)
looptype【动画循环模式】 : 默认LoopForever【一直循环】
LoopForever - 一直循环
LoopOnce - 动画播放一次并结束在最后一帧
层叠次序由文件在osu.中出现的位置决定,最前面的故事版事件会在其他任何事件的层之后.如果故事版事件"A"代码在"B"之前,那么"B"会在"A"前一层.
layers:【层】:
Background【背景】
Fail【失败,即休息时出现X】
Pass【通过,即休息时出现○】
Foreground【前景】
注意: Background和Foreground层总是可见的
origin: 【初始点】
TopLeft【左上】
TopCenter【上方正中】
TopRight【右上】
CentreLeft【中左】
Centre【中央】
CentreRight【中右】
BottomLeft【左下】
BottomCentre【下方正中】
BottomRight【右下】
所有旋转和大小改变(包括矢量缩放)都受初始点影响
filepath: 【文件路径】图片文件的相关路径(应和osu.在同一目录下)
注意: 如果文件名中有空格,文件路径必须用双引号引用
x, y: 图片的位置
注意: 玩的区域是(640,480)到(0,0)【(0,0)为左上角坐标,意思是不要让坐标超过这个区域,下同】
event type:【事件类型】
F - fade【隐藏(淡入淡出)】
M - move【移动】
S - scale【缩放】
V - vector scale (width and height separately)【矢量缩放(宽高分别变动)】
R - rotate【旋转】
C - colour【颜色】
L - loop【循环】
T - Event-triggered loop【事件触发循环】
P - Parameters【参数】
easing:【缓冲】
0 - none【没有缓冲】
1 - start fast and slow down【开始快结束慢】
2 - start slow and speed up【开始慢结束快】
starttime, endtime: 【开始,结束时间】
params:【参数】
_F,[...],startopacity,endopacity
startopacity: 动画的初始可见(透明)度
endopacity: 动画的结束可见(透明)度
0 - 不可见, 1 - 完全可见【这里这个数字参数0-1之间的小数是可以的,感谢abalee提醒】
_M,[...],startx,starty,endx,endy
startx, starty: 动画的初始位置
endx, endy: 动画的结束位置
注意: 玩的区域是(640,480)到(0,0)
_S,[...],startscale,endscale
startscale: 动画的初始比例
endscale: 动画的结束比例
1 = 100%, 2 = 200% 等等. 小数位也是可行的
_V,[...],startx,starty,endx,endy
startx, starty: 动画的初始位置比例
endx, endy: 动画的结束位置比例
1 = 100%, 2 = 200% 等等. 小数位也是可行的
_R,[...],startangle,endangle
startangle: 动画的初始需要转动到的角度的弧度
endangle: 动画的结束时需要转动到得角度的弧度
正角顺时针旋转
_C,[...],r1,g1,b1,r2,g2,b2
r1, g1, b1: 启动时动画元件的颜色
r2, g2, b2: 结束时动画元件的颜色
(255,255,255)的静态图片将会呈现他们原本的颜色,(0,0,0)上网图片将完全是黑色.这两者之间的任何数值都将形成减色(subtractive colour)【其实就是三原色的数值,(红色,绿色,蓝色),用过photoshop等图像处理软件的应该很熟悉这个,关于这个的使用可以参照我的AKB48 - Flying Get中灯光的使用】
_MX,[...],startx,endx
startx: 动画的初始x坐标
endx: 动画的结束x坐标
_MY,[...],starty,endy
starty: 动画的初始y坐标
endy: 动画的结束y坐标
_P,[...],p
p: 应用的影响参数:
H - 水平翻转
V - 垂直翻转
A - additive-blend colour (as opposed to alpha-blend)【请参阅以下资料来了解这个效果
http://shiba.hpe.sh.cn/jiaoyanzu/wuli/s...&classId=4
http://dev.gameres.com/Program/Visual/2D/alpha.htm
(感谢emergist提供的链接)】
用以下的简写参数也是可行的,应用的参数只在动画持续期间生效
shorthand:【简写】
这个符号可以用来快速的把同一时间间隔的大量事件改写为脚本code
_event,easing,starttime,endtime,val1,val2,val3,...,valN
将会创建事件:
_event,easing,starttime,endtime,val1,val2
_event,easing,starttime + duration,endtime + duration,val2,val3
_event,easing,starttime + 2duration,endtime + 2duration,val3,val4
等等
shorthand2:
这个符号可以在事件开始和结束时间相同时使用
_M,0,1000,1000,320,240,320,240
将译为
_M,0,1000,,320,240,320,240
请注意结束区域的空白区 - 这是必须的
shorthand3:
这个符号可以在事件初始值和结束指相同时使用
_M,0,1000,,320,240,320,240
将译为
_M,0,1000,,320,240
Looping 循环
Standard Loops标准循环:
循环会以设定好的数字图片清晰地不断重复
_L,time difference,loopcount
__event, [...]
__event, [...]
time difference: 循环开始的时间和此系列SB事件第一次生效的最初时间之间的时间差, 单位是毫秒
loopcount: 动画循环次数
例, 如果想要把
_C,0,73384,73727,$blue这段代码在01:28:040重复一次(即代码中的88040ms), 那么L代码的时间差数值应该是88040减去这段代码第一次生效时的最初时间73384所得的14656, 所以L代码如下:
_C,0,73727,74071,$yellow
_C,0,74071,74414,$red,$white
_L,14656,1
__C,0,73384,73727,$blue
__C,0,73727,74071,$yellow
__C,0,74071,74414,$red,$white
Trigger Loops事件触发循环:
事件触发循环可以被游戏时间事件触发. 虽然叫做循环, 事件触发循环循环时只执行一次
_T,triggerName,start,end
__event, [...]
__event, [...]
start: 触发器可用的时候
end : 触发器结束可用状态的时候
现在支持的触发器有:
HitSoundClap
HitSoundFinish
HitSoundWhistle
Passing
Failing
触发器循环和普通循环一样是从零计数. 如果两个重叠, 第一个将会被停止且被一个从头开始的循环替代.
如果他们和任何存在的故事版事件重叠,他们将不会循环直到那些故事版事件不在生效
【我有在我的Yanzi Sun - Meng Bu Luo (Dream Never End)中用到这个,四边的SB就是用的clap和whistle触发SB,可以打开osb文件参考】
Sound effects SB 自定义音效【感谢之前yaya,gdeath和abalee给与我的指点】
【2011/8/29 EDIT : 现在ranking guideline不建议使用SB音效, 能不用的时候尽量避免使用以免被喷】
Sample,time,layer,"filepath",volume
time 时间: SB自定音效开始的时间(单位毫秒)【就是edit中左下的数字,注意如果是一分钟以上,如1:20:025,那么1分钟要换算成60秒即time设置应为80025而非120025】
layer 层:
Background = 0
Fail = 1
Pass = 2
Foreground = 3
filepath 文件路径: 声音文件【wav格式】相关路径(应和osu.文件在同一文件夹目录下)
注意: 文件路径必须双引号引用
volume音量: 声音文件音量 (1-100)
【我的Girls' Generation - It's Fantastic中有用到很多SB sound,这个每个难度不同,所以需要参考的话应该打开每个难度的osu文件,然后在Events之下的Storyborrd sound sample下】
Variables 自定义变量
现在自定义变量也可用,你可以在osb.文件里定义自己的自定义变量(暂时不支持osu.文件的SB)
[Variables]
$white=255,255,255
一旦你自定义了变量,你可以在故事版中的"任何地方"使用他们.
暂时请不要自定义太小的变量(比如, 不要赋值 $var=1)因为编辑器还没聪明到在它保存时知道把变量如何保存.【意思是变量太简单的话,因为保存时会把所有变量按自定义变量保存,所以太小的变量可能出现替换问题】所有事件变量会在保存时被自定义变量代替(所以如果你有一个地方用了 $white而另外一个地方用的 255,255,255 他们在编辑器中会都被保存为$white)【peppy的Baby Cruising Love中颜色的改变就用了自定义变量】
2013.7.22 EDIT:新版本支持宽屏的SB效果,但只有应用了旋转效果的部件会宽屏显示,如果想要全部图片都是宽屏效果的吧要在每个部件的代码中加上
_R,0,x,y,-1E-16,0其中x,y是你宽屏持续的时间
【至此,翻译完毕,如有疑问请提出,我会尽我所能解答】