M9 BAS内测情况及使用记录

M9 BAS内测情况及使用记录

冰火混合物

B站新弹幕模式,内部曾称为M7+,目前定名M9 BAS。以后大概会被叫M9多一点吧,不过因为旧M9的存在…还是叫全称或者喊BAS吧。不知道以后会不会再改名……

主体功能与M7近似,未来预定在其基础上有进一步发展(因此曾被称为m7+),使用方法则与M8类似(写代码),但是比m8简单,在理解m7的xml的基础上可以迅速上手。对我来说基本上是看到示例就可以拿来用了,相信对m7比较熟悉的人也很快就能掌握。



更新及使用记录(作为使用者层面的体感,非官方,可能出现误差)


2017.8.3

光驱投稿av12873332作为m9官方示例稿件。由于B站有关注推送,很快被字幕菌群发现,随后稿件隐藏wwwww


2017.10.9

云子发现BAS弹幕模式上线。

1.只在字幕菌权限的h5播放器高级弹幕选项下出现。非字幕菌似乎根本没这个选项。

2.坐标取消绝对坐标值,全部改以百分比模式显示,可精确到小数点后一位。虽然担心了一下例如阴影之类的精细效果是否能正常实现,但是计算后发现没什么问题,只要写到小数点后一位就可以了。

3.弹幕出现时间由秒改为毫秒。


2017.10.10

野生的光驱出现啦!(。

1.目前的M9 BAS是内测BETA版,内测暂时只开放给字幕菌权限,边用边挑bug。

2.代码参考文档,咕咕咕中……

3.暂不支持旋转、滤镜、矢量绘,未来将实现移动端适配。

4.单条弹幕长度不限制。

5.自带按钮跳转功能,但是因为不能控制播放器所以没有代码弹幕自动循环。

6.百分比坐标支持负数。

7.M9 BAS是针对h5播放器开发,在flash播放器里还不能显示。


2017.10.13

给出了部分示例。

1.暂不支持模糊,缓动有多种预设模式可使用。

2.坐标因为使用了百分比而全屏幕适应,但是字体大小还没有做适屏。

3.简单效果示例av224861。最后一句似乎有bug。

4.虽然可以用一条代码写完整个视频的弹幕,但是在没有时间控制的情况下,一整条M9 BAS也就只是一条弹幕而已,只能执行一次,一旦手动拖动进度条就会出现无法显示等情况。能想到的解决方法是要么把一整条代码拆开来每句都单独发送(但是太麻烦),要么再给一个可以控制出现时间的代码(目前商讨中)。


2017.10.15

hello80写了个把lrc直接转换成m9 BAS代码的工具,适用于不打算做复杂效果的简单弹幕。由于上述第四条问题,推荐使用方式是拆开成多条弹幕发送。 https://hello80.coding.me/danmaku-tools/


2017.10.20

试用M9 BAS。

1.单做lrc的话应该很方便……不过因为想配合字幕,结果因为出现和消失时间问题搞得自己很想死(。

2.不敢拖进度条,测试起来比较麻烦。

3.空格占位无法使用。做逐字非常难受。

4.lrc转BAS工具的试用,提出意见及bug消除(漏了个引号)。

5.因为试用工具,发现m9 BAS的注释不能写在最前面,否则弹幕不显示OTZ

6.使用中发现:播放器缓冲卡顿时,有低概率会出现“卡顿时间点后m9弹幕全部消失”的情况,原因暂时不明。 


2017.10.21

av15369982,M9 BAS施工完毕。这视频超赞的真的超级赞的你们都来看一下啊?!


2017.10.26

lrc转BAS工具的试用及bug消除(坐标设置问题)。


2017.10.27

1.M9 BAS的换行符号,试用了/n,/N,\n等多种组合均无效,最终在幻想天则的提示下发现居然是<br>……

2.lrc转BAS工具的试用及bug消除(时间计算的小数点点错位置了)。


2017.10.29

1.代码参考文档,继续咕咕咕中……

2.M7暂时不会死,还会继续维护。

3.以后会对高级弹幕进行各平台和分辨率的适屏改进。

4.zIndex作用为确定层数的优先级别,数字大者在最前面。目前的弹幕显示层级是视频——BAS——mode145678,真·底层弹幕23333

5.空格占位已恢复支持。可以做逐字啦!(欢脱奔跑


2017.11.1

1.手动描边测试。中中锚点,字号相差1,描边效果不甚明显,且当弹幕长度较长时,两端的描边会出现过于明显的偏差。以后有描边需求的话还是用逐字比较保险,又或者干脆用m7时的老一套,无脑九条手动描边?改天继续实验。

2.中中锚点描边测试失败,于是进行阴影测试。锚点及字号相同,坐标朝右下偏移0.1。

锚点及字号相同,坐标朝右下偏移0.2。

……感觉前者比较好看。没有系统自带描边的话,就按这个做算了……


2017.11.9

1.属性设定里,颜色如果写成color就正常执行,我刚顺手写了个colour,就没给执行,直接出了个白色233应该也不算bug,就是提醒一下大家注意写法吧。

2.全部弹幕加上了黑色描边?描边的有无及颜色控制尚不清楚。

3.半夜三更出bug,已发送弹幕消失,新弹幕定位严重偏移,该不会是在修高级弹幕系统吧……那今天就不干啦,睡觉去(喂


2017.11.13

M9 BAS示例文档上线啦!Bilibili Animation Script欢迎你!(不是 https://github.com/Bilibili/bas

追加功能及改进:

1.百分比坐标以后要写成10%才能作为百分比显示,只写数字显示的就是像素数……我之前做的弹幕要重置了(痛哭

2.加粗、阴影、描边(宽度颜色可自选)功能上线。

3.XYZ轴旋转功能实装。

4.字体大小适屏进行中。

5.视频跳转、时间跳转、番剧跳转按钮上线。

6.其他我不是很看得懂但是看上去就非常厉害的改进……


2017.11.21

1.代码修改后Y坐标的播放器取值跟实际出现位置有了一定的偏差,原因不明。

锚点X1Y0(右上锚点),坐标拾取取值x91%y85.5%,实际效果偏左上。

实际调整结果,取到合适位置时X92%Y92%……

2.想去尝试time代码是否能在歌词弹幕里也使用,结果死活发送不出去弹幕,换了几个视频都提示发送失败,示例文档里的代码也发送不出去……翻记录发现hello80在文档更新当天已经反应了同样问题,莫非在这中间根本没有人尝试过发BAS弹幕吗…吗……

3.结果因为发不出去也没法测试time能不能用……咸鱼躺地板.jpg


2017.11.22

1.……结果根本就全都发出去了!虽然都显示发送失败!这个bug太二啦!!!幸好我养成了“测试弹幕要去专用视频”的习惯,不然真的药丸……

2.time不能在文本弹幕里用,只好逐条拆开发送了_(X3」∠)_

3.在眼看着弹幕来回乱蹦,经过一番充满惊吓和二的折腾之后,最终确认弹幕显示坐标不稳定其实是个bug,下周一才修复……虽然提供了临时解决方法,但是对我不是非常适用,还是老实等修复吧囧

4.hello80问的“弹幕运动的插值方式”(这什么玩意…):linear|ease|ease-in|ease-out|ease-in-out

5.宽屏不显示测试中的BAS弹幕,已报告,待优化。

6.细节经验:xy坐标的写法最好写到小数点后一位(方便搞替换),时间虽然可以以秒为单位写,但是最好统一为毫秒(就不说我多少次误写成3000秒了)……


2017.12.8

1.播放器于6号更新,修复了“弹幕实际出现位置与坐标拾取取值不同”以及“固定点的弹幕位置来回变动”的bug。明明发出去了却还是提示“发送失败”的谜之bug也消除了。

2.大更新:追加新功能【path 对象】,能拿SVG路径来画图了,具体参照示例文档及http://www.w3school.com.cn/svg/svg_path.asp 。……说是这么说,真的拿弹幕画图应该还是挺麻烦的,等一波大佬们的程序吧。

3.av15369982,M9 BAS重新施工完毕。幸好还留有上一版的代码可作参照OTZ

4.细节问题:微软雅黑字体的空格测试。因为在av15369982里做的高级弹幕用了雅黑,加上之前做弹幕时发现雅黑这字体的空格不知道为啥特别奇葩,为保证弹幕的位置准确度而搞了个测试。结果如图,结论:全角空格随便用,半角空格除非做阴影否则不要使用——但是做阴影可以直接改坐标所以结论还是半角空格不要用!

5.做这个测试的时候发现换行符又变了,试了一圈下来发现现在又变回\n了233

6.第一条提到的bug修复后,听说百分比现在是以播放器宽度来计算的,于是测试了一下百分比定位及百分比字体大小的精准度。

测试数据:fontSize = 2% fontFamily = "微软雅黑" x = 92.4% y = 92.0%

默认播放器:x861,y572,小屏。

宽屏。

网页全屏。

全屏。

结论:弹幕坐标百分比定位,加上字体大小也写成百分比,基本可以保证网页端的完美观看效果,不受屏幕大小限制。对做高级弹幕的人而言是个好消息,之前真是被各种定位崩坏折磨到想爆炸了……总之安心了。


2017.12.18

新bas文档:https://bilibili.github.io/bas


待更新。

Report Page