forum

雨点的完美StoryBoard教室 > <

posted
Total Posts
52
Topic Starter
_lolipop
みんなー! _lolipopのStoryBoard教室はじまるよー!
あたいみたいな天才目指して、がんばっていってね!


刚好最近在研究storyboard,又有很多人来问sb相关的问题,又应14岁萝莉ex boy的要求,我就来写一个sb的教程吧.
其实呢,清风哥萌萌微风已经写过两篇关于sb的post(1,2),介绍得比较清晰,不过有一些新mapper表示看不太懂,于是我在此篇post中将会讲得更加浅显易懂一些.顺便说一句有点flash基础将会很有用.
以下是正文.

①.各种提示和建议
一些对新人和做过sb的人可能都有点益处的建议,就放在前面吧.
1.需要透明或不为矩形的图片应保存为.png,其他的存为jpg以减小文件大小(edit:纯色的图片PNG的要比JPG小,所以纯色图片建议用PNG保存 [感谢Breeze的经验])
2.使用ps等工具制作sb图片的时候应记得保存psd等工程文件,以便以后修改
3.时常备份.osb文件,因为一些代码时常会莫名其妙失踪
4.建立个txt记下图层顺序,因为(修改代码后?)图层顺序时常会混乱(但background和foreground之间不会搞混,所以要把背景和前景放到相应的位置)
5.同时也要记录好哪些动画是只循环一次(LoopOnce)的,因为时常会自动变成无限循环(LoopForever)
6.不要做过于闪的sb,否则rating会很低,因为别人是在打图而不是在瞎眼.
7.即使不想用代码来做sb,也要能看懂一些,至少调整坐标能更加方便
8.较长的sb可以分开为几段来做,最后合起来就好(背景和背景放在一起,前景和前景放在一起)
9.使无用的代码尽可能减少
10.测好bpm和offset之后再做sb,这样与歌曲的合拍度会更好
11.sb的文件名不能是中文,否则osz将不能打开
12.-sin-提供sb mod. 当然你也可以pm我(如果我有时间的话).
13.SB图片640x480像素为最佳,这样加入到SBE中刚好是全屏而无需任何调整[感谢Breeze]
14.SB完成后应通过搜索并替换(搜索0.99和0.00)的方式确保_F代码中的完全透明为整数0,不透明为整数1[抱歉表达能力不太好,详情见17L,感谢Breeze]
待续....

②.sb的分类
根据用途,粗略的将sb分为这么几类
1.提示:bpm*2之类的提示,作用是让玩家有心理准备.
2.歌词:就是歌词> <.
3.效果:闪光或烟花等等效果,增强游戏性.像jump jump那样的就十分赏心悦目,而像ass up那样的就有些晃眼了.
4.动画:这类更像一个影片,真正能发挥故事版讲故事的作用.例如neko miko reimu,和我刚做的miracle hinacle

③.sb的制作
既然单纯的描述难以理解,就从实战开始吧
(有时间将会加入图片说明)
1.提示sb
提示sb一般需要的效果是移动(Move)和淡入淡出(Fade).
以下以bpm*2为例子
(1)首先我们要准备一个清晰明了的bpm*2的图片,然后放到歌曲文件夹下
(2)到edit歌曲的design模式下,点击右下角的sprite library,找到你的图片,点击,此时,你的图片便出现在舞台上.
(3)移动. 首先在左边的Transformation栏中点击Move,然后在需要移动的起始时间点击 上方Keyframe control 中的蓝色加号以添加移动的初始关键帧,并用鼠标将图片移到移动起始位置.之后在移动终止的时间处添加关键帧(点加号),然后将图片拖到最终位置. 这样,你的图片就有了一个移动的动作.这个移动是匀速的,如果你希望其移动先快后慢,点击左边easing的out,反之则点in(同样适用于淡入淡出,旋转和缩放).
move的代码:
Sprite,Background,Centre,"sbbpmX2.png",320,240
_M,0,34536,37302,309,332,310,383
M代表移动,0是说明没有使用easing out(代码为1)或in(2),34536是起始时间,37302是终止时间,309,332是起始坐标,310,383则是终止时的坐标
(4)淡入淡出. 和移动类似的做法.例如我们需要将这个*2先从透明变为不透明,之后再变为透明.首先点击左边的fade,在开始渐变处点击加号,用鼠标向下拖拽,使透明度变为0.同样地,在不透明处和再次透明处创建关键帧,将透明度分别调整为1和0.就得到了淡入淡出效果.
fade的代码
_F,0,34536,37302,0,1
前面的和移动的一样,后面0为透明,1为不透明,若想半透明可以用小数表示
这样,就得到了移动并淡入淡出的提示sb.
_______
2.歌词sb
与提示sb并无很大区别.
move和fade见提示sb处.
来讲一下字符的缩放.
同样是点击左边scale,并的创建两个关键帧,用鼠标改变关键帧处歌词图片的大小.
怎么样,是不是很简单,和move/fade一模一样?
哈,这样雨点就偷一下懒,就不讲旋转了,留作作业让你们做好了~
_S,0,34536,37302,1,2
1代表大小是原来的一倍,2是两倍.

________
3.效果
效果实例有闪光和烟花等.
闪光实际上就是白色背景的在短时间内由透明到不透明再到透明
与提示sb中fade的例子并没有什么区别,注意把握好起始点和终止点就好
烟花的做法就是一张烟花的png,然后透明度从20%渐变到90%,由0缩放变大,并用上easing out,多加调整就能做出好的效果.
嗯....这个就留为作业吧.
顺便一提,如果你会编程的话可以做出不错的效果sb:
例如Jump Jump,这个是用osq2osb制作的,更类似于一种程序语言,循环和自定义函数等等方面会更加简单,strager的博客中有说明.http://strager.net/blag/

______
4.动画
这个比较复杂. 除了移动,缩放,旋转,淡入等等以外
还需要的就是逐帧动画.
最简单的方法是用gif为基础制作.
但是osu并不支持gif,我们就需要用png序列实现.
首先找到一张动画gif,例如这个有34帧的hina.gif
然后通过一些软件导出每一帧为hina-0.png一直到hina-33.png,请注意第一帧必须为xxxx0.png
这时你在sprite library中就能看到一个动态的hina-png
将其放置到舞台上,然后根据你习得的经验,尽情S(cale)M(ove)吧..(雨点学坏了...> <)
但是,这动画并不能按照要求播放,该怎么办?
用记事本打开osb文件,找到Animation一行,来分析一下.
Animation,Foreground,Centre,"sbhina-.png",320,240,34,33.333,LoopOnce
34代表一共有34帧,33.333代表33.333ms切换到下一帧,即每秒播放30帧,这个单位换算要自己算...
LoopOnce代表循环一次并停在最后一帧,若想改成无限循环则改为LoopForever
将代码改为合适的数值,就可以让hina动起来了~
__________

另外就是编辑osb文件保存顺序的问题:

Breeze wrote:

记事本另存一份osb文件的code很方便
不过就是记得复制code进osb文件的顺序是:
先要离开编辑界面,在复制code进osb文件再保存
因为离开编辑界面的时候osb是会自动保存一次的

有一种例外就是选择了Diff. Specific 的SB元件
如果改动了这类元件而又没有保存的情况下离开编辑器的时候会提示你是否保存的
总之离开编辑器后再复制code进osb是没错的
所以用记事本会比较麻烦,雨点推荐用带有reload功能的文本编辑器.

edit:

Pokie wrote:

用記事本在osb或osu裡更改代碼兼在記事本裡保存後,
回到osu! Editor裡按 File> Full Reload (Sprites etc.) 就能重新讀取一遍已修改過的osb/osu文件,
這樣就不用退出又重進, 或是怕剛剛改好的代碼掉了 :D
____________
今天的雨点课堂就到这里,以后还有什么能想到的,还会写进来
也欢迎提意见,问问题的哦. > <
Topic Starter
_lolipop
2楼是Q&A:
欢迎提出问题~
SamiPale
求雨点大姐姐写一篇osq2osb教程 > <
Topic Starter
_lolipop
Furawa
:)
Dotsu
:arrow: 支持一个
Colin Hou
啊啊啊 到代码部分完全看不懂了...
:o
xipan_old
14岁萝莉ex boy :lol:
[Ghost]
代码大好:O
Kotone
0..0 I love make SB :oops:
Pokie
> < 阿, 萌
----
8-)
Darkrai7
清风哥就是微风?
Topic Starter
_lolipop

Darkrai7 wrote:

清风哥就是微风?
> < 你注意到奇怪的地方了....
这只是一个脑对他的蛋疼称呼...
xBubu

xipan wrote:

14岁萝莉ex boy :lol:
35歲正太 xipan
xipan_old
啊 楼上莫非是传说中的 圣代loli布布姐 :shock:
HentaiTei

xipan wrote:

啊 楼上莫非是传说中的 圣代loli布布姐 :shock:
Breeze

_lolipop wrote:

1.需要透明或不为矩形的图片应保存为.png,其他的存为jpg以减小文件大小
根据我的经验,纯色的图片PNG的要比JPG小,所以纯色图片建议用PNG保存
补充一点,SB图片640x480像素为最佳,这样加入到SBE中刚好是全屏而无需任何调整

还有个很多人容易忽视的一点:(以下需要了解一些SB代码的才好理解)
在用Fade做了淡入淡出效果后,osb文件中的代码经常会出现非常接近完全消失或者完全可见而实际又不是这样的状态
(这话真拗口...)总之意思就是说本来应该是1或者0的F代码却是0.99.....或者0.00.....这种状态
虽然肉眼不可见,但是这种状态的图片很可能造成失帧而造成机器不好的同学卡住
所以做好SB后最好检查下osb文件的F类的code,检查方法也很简单
进入osb文件后直接ctrl+F搜索0.99,如果有搜到此类数字又是F代码后的,那么就改该数值为1就好
同理搜索0.00,将搜索到的F类数值改为0就好

这些是SB大神LuigiHann对我的教导- -
他原文如下

LuigiHann wrote:

Your storyboard is extremely inefficient. It's important to try to have as few full-screen layers onscreen at once as possible.
For example, your red light.png could be broken into two images, one for the left light and one for the right light, so that you don't have a bunch of empty pixels filling the whole screen.
Also, when you use the SB editor to create fade outs, you should check the code to make sure that all of your 0's are actually 0. SB editor tends to create numbers like 0.002917588, which has the very unfortunate side effect of having a nearly-invisible sprite remain onscreen when it's intended to be gone completely.
You have a 640x480 black.png, which you draw in front of your background image, when it would be better to have the background image itself just fade away instead...

I mention these things because your map ends up with 3 or 4 full-screen layers displaying at once at some points (and that's only the SB, not counting game graphics like the spinner), and that can cause serious frame rate drops (it did for me). I'm not unranking this because it seems like I'm the first to complain so maybe the framerate drop isn't noticeable enough to bother most people, but if you decide to fix the SB I will update it for you. Otherwise just keep this stuff in mind for next time.

Nice skin though
Topic Starter
_lolipop

Breeze wrote:

_lolipop wrote:

1.需要透明或不为矩形的图片应保存为.png,其他的存为jpg以减小文件大小
根据我的经验,纯色的图片PNG的要比JPG小,所以纯色图片建议用PNG保存
补充一点,SB图片640x480像素为最佳,这样加入到SBE中刚好是全屏而无需任何调整

还有个很多人容易忽视的一点:(以下需要了解一些SB代码的才好理解)
在用Fade做了淡入淡出效果后,osb文件中的代码经常会出现非常接近完全消失或者完全可见而实际又不是这样的状态
(这话真拗口...)总之意思就是说本来应该是1或者0的F代码却是0.99.....或者0.00.....这种状态
虽然肉眼不可见,但是这种状态的图片很可能造成失帧而造成机器不好的同学卡住
所以做好SB后最好检查下osb文件的F类的code,检查方法也很简单
进入osb文件后直接ctrl+F搜索0.99,如果有搜到此类数字又是F代码后的,那么就改该数值为1就好
同理搜索0.00,将搜索到的F类数值改为0就好

这些是SB大神LuigiHann对我的教导- -
他原文如下

LuigiHann wrote:

Your storyboard is extremely inefficient. It's important to try to have as few full-screen layers onscreen at once as possible.
For example, your red light.png could be broken into two images, one for the left light and one for the right light, so that you don't have a bunch of empty pixels filling the whole screen.
Also, when you use the SB editor to create fade outs, you should check the code to make sure that all of your 0's are actually 0. SB editor tends to create numbers like 0.002917588, which has the very unfortunate side effect of having a nearly-invisible sprite remain onscreen when it's intended to be gone completely.
You have a 640x480 black.png, which you draw in front of your background image, when it would be better to have the background image itself just fade away instead...

I mention these things because your map ends up with 3 or 4 full-screen layers displaying at once at some points (and that's only the SB, not counting game graphics like the spinner), and that can cause serious frame rate drops (it did for me). I'm not unranking this because it seems like I'm the first to complain so maybe the framerate drop isn't noticeable enough to bother most people, but if you decide to fix the SB I will update it for you. Otherwise just keep this stuff in mind for next time.

Nice skin though

感谢宝贵经验...已添加 > <
kiddly
其实会flash的人上手这超快 8-)
等熟练了之后基本就是累活,还有大概就是考验想象力吧 :)
Breeze

kiddly wrote:

其实会flash的人上手这超快 8-)
等熟练了之后基本就是累活,还有大概就是考验想象力吧 :)
反过来,会这个去做flash却又是一头雾水
是adobe flash CS4改动太大让我不知所措还是我根本就理解错了- -
总之很多时候动画不那么好作出来,相比之下OSU的SBE就很简单易懂了
功能简单反而更好用=口=
himydanny
顶雨点,传道授业解惑
Furawa

Breeze wrote:

kiddly wrote:

其实会flash的人上手这超快 8-)
等熟练了之后基本就是累活,还有大概就是考验想象力吧 :)
反过来,会这个去做flash却又是一头雾水
是adobe flash CS4改动太大让我不知所措还是我根本就理解错了- -
总之很多时候动画不那么好作出来,相比之下OSU的SBE就很简单易懂了
功能简单反而更好用=口=
我表示真心希望osu能导出flash XD,-0- 话说我用cs3都不太习惯了,以前用8.0
Amethyst Wolf
受教了 :)

對了, 關於圖層混亂方面,
它好像是默認較早出現的放前面, 反之亦然,
但先出現的圖層它會默認放在較上面的圖層次序,
所以想後出現的圖層在先出現的圖層上面時,
它就斯巴達了,
只好以時間為先, "好心的"把它自動排好了。

我想, 如果想解決這問題要用啥方法?
方法一, 找皮皮去.
不不不! 我可是一只懶狼!
方法二, 自己DEBUG.
...我可不會啊...
方法三, 用超能力排好它.
可惜我不會.
方法...


最後, 我想到一個可行的解決方法,
只是我未試驗過.

設:先出現圖層為Apple.jpg, 後出現的圖層為Banana.jpg
把Banana.jpg放在Apple.jpg前面, Fade為0,
到Banana.jpg本來出現的時間加一個Fade的Point, 數值為一,
再Tweening它, 完成。

這我就麻痺的一勞永逸, 不用擔心它哪時發病了.
Darkrai7

_lolipop wrote:

Darkrai7 wrote:

清风哥就是微风?
> < 你注意到奇怪的地方了....
这只是一个脑对他的蛋疼称呼...
我印象中...那个ID是qingfeng0的人才叫清风哥...
不会是同一个人吧...
Furawa

Amethyst Wolf wrote:

受教了 :)

對了, 關於圖層混亂方面,
它好像是默認較早出現的放前面, 反之亦然,
但先出現的圖層它會默認放在較上面的圖層次序,
所以想後出現的圖層在先出現的圖層上面時,
它就斯巴達了,
只好以時間為先, "好心的"把它自動排好了。

我想, 如果想解決這問題要用啥方法?
方法一, 找皮皮去.
不不不! 我可是一只懶狼!
方法二, 自己DEBUG.
...我可不會啊...
方法三, 用超能力排好它.
可惜我不會.
方法...


最後, 我想到一個可行的解決方法,
只是我未試驗過.

設:先出現圖層為Apple.jpg, 後出現的圖層為Banana.jpg
把Banana.jpg放在Apple.jpg前面, Fade為0,
到Banana.jpg本來出現的時間加一個Fade的Point, 數值為一,
再Tweening它, 完成。

這我就麻痺的一勞永逸, 不用擔心它哪時發病了.
图层顺序也就是文档里的出现顺序,自己开文档剪切粘贴调整一下就可以了
Breeze

Darkrai7 wrote:

清风哥就是微风?
> < 你注意到奇怪的地方了....
这只是一个脑对他的蛋疼称呼...

我印象中...那个ID是qingfeng0的人才叫清风哥...
不会是同一个人吧...
你才叫清风哥,你全家都叫清风哥(误 > <
一个脑我讨厌你>~<
kino77
SB什么的... >:(
雨点你帮我做吧... :o
Amethyst Wolf

SOGASOGAMO wrote:

Amethyst Wolf wrote:

受教了 :)

對了, 關於圖層混亂方面,
它好像是默認較早出現的放前面, 反之亦然,
但先出現的圖層它會默認放在較上面的圖層次序,
所以想後出現的圖層在先出現的圖層上面時,
它就斯巴達了,
只好以時間為先, "好心的"把它自動排好了。

我想, 如果想解決這問題要用啥方法?
方法一, 找皮皮去.
不不不! 我可是一只懶狼!
方法二, 自己DEBUG.
...我可不會啊...
方法三, 用超能力排好它.
可惜我不會.
方法...


最後, 我想到一個可行的解決方法,
只是我未試驗過.

設:先出現圖層為Apple.jpg, 後出現的圖層為Banana.jpg
把Banana.jpg放在Apple.jpg前面, Fade為0,
到Banana.jpg本來出現的時間加一個Fade的Point, 數值為一,
再Tweening它, 完成。

這我就麻痺的一勞永逸, 不用擔心它哪時發病了.
图层顺序也就是文档里的出现顺序,自己开文档剪切粘贴调整一下就可以了
然後一不小心又會自動排好了。
Avfunny
闪光或烟花放在暂停时段比较好

游戏过程中不管怎么处理都会不同程度影响到player..
Topic Starter
_lolipop

Amethyst Wolf wrote:

受教了 :)

對了, 關於圖層混亂方面,
它好像是默認較早出現的放前面, 反之亦然,
但先出現的圖層它會默認放在較上面的圖層次序,
所以想後出現的圖層在先出現的圖層上面時,
它就斯巴達了,
只好以時間為先, "好心的"把它自動排好了。

我想, 如果想解決這問題要用啥方法?
方法一, 找皮皮去.
不不不! 我可是一只懶狼!
方法二, 自己DEBUG.
...我可不會啊...
方法三, 用超能力排好它.
可惜我不會.
方法...


最後, 我想到一個可行的解決方法,
只是我未試驗過.

設:先出現圖層為Apple.jpg, 後出現的圖層為Banana.jpg
把Banana.jpg放在Apple.jpg前面, Fade為0,
到Banana.jpg本來出現的時間加一個Fade的Point, 數值為一,
再Tweening它, 完成。

這我就麻痺的一勞永逸, 不用擔心它哪時發病了.
嗯...有时间的话我会尝试一下
不过这个方法在超多图层的sb中会稍微麻烦一些
另外我这里的混乱貌似与文件名和文件夹名称有关系
哪天我去验证一下
不过能用记事本记住顺序是最保险的 > <
Breeze
记事本另存一份osb文件的code很方便
不过就是记得复制code进osb文件的顺序是:
先要离开编辑界面,在复制code进osb文件再保存
因为离开编辑界面的时候osb是会自动保存一次的

有一种例外就是选择了Diff. Specific 的SB元件
如果改动了这类元件而又没有保存的情况下离开编辑器的时候会提示你是否保存的
总之离开编辑器后再复制code进osb是没错的
Ex Boy
干,躲战壕里也要挨枪么?!(摔
Pokie
求補充:

用記事本在osb或osu裡更改代碼兼在記事本裡保存後,
回到osu! Editor裡按 File> Full Reload (Sprites etc.) 就能重新讀取一遍已修改過的osb/osu文件,
這樣就不用退出又重進, 或是怕剛剛改好的代碼掉了 :D
Topic Starter
_lolipop
已添加,thx > <
Numbers 596108
嗚~好複雜...永遠聽不懂阿D:
lcclarke
好复杂!~ :o
没有多余人参研究这个~~>_<
miku
沙包表示
map都做不来.. :o
更何况SB.. :o

话说有SB的图..
只要图片同时出现超过2个的..
我的电脑玩起来就会有延迟..OTL..
有的图甚至卡到吐血..OTL..
SB也不能关..
删掉又觉得太对不起做SB的人..
结论就是SB什么的最讨厌了 > <

支持雨点的教程 XD
Topic Starter
_lolipop

ballban wrote:

沙包表示
map都做不来.. :o
更何况SB.. :o

话说有SB的图..
只要图片同时出现超过2个的..
我的电脑玩起来就会有延迟..OTL..
有的图甚至卡到吐血..OTL..
SB也不能关..
删掉又觉得太对不起做SB的人..
结论就是SB什么的最讨厌了 > <

支持雨点的教程 XD
刷图的时候可以把osb改名,以后要看的时候改回来就好了 > <
miku

_lolipop wrote:

ballban wrote:

沙包表示
map都做不来.. :o
更何况SB.. :o

话说有SB的图..
只要图片同时出现超过2个的..
我的电脑玩起来就会有延迟..OTL..
有的图甚至卡到吐血..OTL..
SB也不能关..
删掉又觉得太对不起做SB的人..
结论就是SB什么的最讨厌了 > <

支持雨点的教程 XD
刷图的时候可以把osb改名,以后要看的时候改回来就好了 > <
但是mapper不是都会把代码复制到OSU文件里面 然后把osb文件都删掉的么 :o :o

嘛..我也懒得删SB或者先把SB移出来在放回去.. 我是懒人一个 =w=
sico91212
我正在做一个逐帧动画的SB,但是如果使用Animation命令会很难控制起始帧和结束帧,但是使用单帧代码插入又会经常闪屏(有时候不闪)很头疼,有什么好的办法吗?
Snowy Dream
用SB做影片的话。。。
喂喂。。当时我还在纳闷开NV怎么关不掉。。后来还去翻songs把SB删掉。。
SB做的影片固然很好。。不过对于渣机器开着就只能听歌了。
好吧 说了一堆废话 我换机器去。
Snowy Dream
嗯嗯。。bpm×2的确挺好做的。。
不过这字体是怎么做的。 :?
Breeze

sico91212 wrote:

我正在做一个逐帧动画的SB,但是如果使用Animation命令会很难控制起始帧和结束帧,但是使用单帧代码插入又会经常闪屏(有时候不闪)很头疼,有什么好的办法吗?
没咋懂啥意思...代码控制应该是相当精确的不会出现问题
Topic Starter
_lolipop

sico91212 wrote:

我正在做一个逐帧动画的SB,但是如果使用Animation命令会很难控制起始帧和结束帧,但是使用单帧代码插入又会经常闪屏(有时候不闪)很头疼,有什么好的办法吗?
将png序列插入时 当前时间点就是播放的第一帧 内容是 a-0.png 如果想播放到最后一帧停止 就将代码改为LoopOnce
或者算好时间 在播放完最后一帧的时间插入结束帧就好

单帧闪烁是因为帧在时间轴的位置不对 必须一帧的结尾的时间就是下一帧的开始 中间没有空隙才行.
Topic Starter
_lolipop

ddddd519 wrote:

嗯嗯。。bpm×2的确挺好做的。。
不过这字体是怎么做的。 :?
字显然从ps做出来导出成png的... > <
sico91212
无空隙和有空隙差别不多(1ms与0ms)都有闪烁情况,但是有时候又不闪,个人感觉貌似与机子的配置有关系
Topic Starter
_lolipop

sico91212 wrote:

无空隙和有空隙差别不多(1ms与0ms)都有闪烁情况,但是有时候又不闪,个人感觉貌似与机子的配置有关系
如果幀數設置錯誤的話 每次都會閃爍的 . 至於有時候不閃.....換一台好些的機器看看情況如何好了.
Kotone

_lolipop wrote:

ddddd519 wrote:

嗯嗯。。bpm×2的确挺好做的。。
不过这字体是怎么做的。 :?
字显然从ps做出来导出成png的... > <
BAKARU提供各種日語字體 :)
B a K a R u's Bakahouse
Japanese Font Pack 就是了 :roll:
Kamina
好物必须顶 ;)
peterwVer1
那个什么。。。有个问题,我在mod的的时候不小心加了一张图进foreground里。那张图加进去了还删不掉。这个。。。要怎么删掉它。。。。
show more
Please sign in to reply.

New reply