【ぬるぬるMMD】たこアリスで WAVEFILE【カメラTEST】
を使ってみるテスト。
本来は、最後の「ありがとう」のシーンみたく軸線を固定する必要がある場面ではあらかじめ余計にキーを打っておく必要があるのでしょうが、テストということでそのままに。
このツール、この動画みたく補完曲線を入れること前提のカメラモーションでなく、これ用に補完曲線無しで作ったカメラに適用しないとうまく行かない感じ。
でも同一方向で速度だけが変わるようなシーンでは上手くなめらかに調整してくれるみたいだから充分有用。全体にかけるよりもシーン毎にカメラ作ってそれにかける方が使い勝手が良さそうですね。(反射するような動きの部分にかけると台なしだから、いずれにしろ分割して適用する必要は出るわけですし)
動画コメントにも書いた「視野角が45度にリセットされてしまう」というのの他にも、近いシーンがより近くなってしまう(これはこの動画だけでなくツール配布動画の比較場面でもそうなっていた)というバグ(だか仕様だか)があるみたい。今後の改良に期待です。
元のカメラモーションを公開しておきます
これに「カメラもぬるぬるMMD V0.90」かけたものを動画で使用しています。
(VMDConverter で CSV にしたものです。好きに流用してください)
Vocaloid Motion Data 0002,0 カメラ・照明 0 0 53 0,-23,-3.89048,6.0163,5.88862,16.0428,-101.986,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 166,-23,-3.4548,17.5462,2.59284,6.30254,-64.1713,0,0x2D442A7F2D442A7F2D442A7F2D442A7F2D442A7F2D442A7F1300000000 200,-23,-0.867845,16.8076,-3.54525,-6.20704,-86.3256,0,0x2C52007F2C52007F2C52007F2C52007F2C52007F2C52007F1300000000 250,-23,0.426808,18.2034,-4.56555,-13.751,-7.44847,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 292,-11,0.512557,17.4272,-4.90137,-24.0642,14.3239,0,0x2E43297F2E43297F2E43297F2E43297F2E43297F2E43297F1300000000 352,-11,0.364582,16.5989,-1.30543,-0.572958,24.0642,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 393,-9.4,0.359892,17.7489,-1.29493,9.74028,13.751,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 430,-9.4,-2.51561,17.5025,-1.95507,9.74028,-4.5837,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 471,-33.4,-2.51561,17.5025,-1.95507,18.3346,-13.1781,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 511,-33.4,-2.51561,17.5025,-1.95507,-8.02141,-346.067,0,0x364A004A364A004A364A004A364A004A364A004A364A004A1300000000 559,-39.4,-2.52574,17.2034,-1.85274,4.58366,-433.729,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 600,-39.4,-1.8353,17.6453,-0.18825,-5.15662,-464.096,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 640,-33.4,0.237825,17.5966,0.807883,12.6051,-334.608,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 670,-33.4,0.237825,17.5966,0.807883,0.572956,-319.138,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 701,-33.4,0.768642,17.5966,0.43274,26.3561,-575.25,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 731,-15.4,-2.9459,17.2233,-2.40421,18.9076,-715.052,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 837,-15.4,0.598139,9.77916,-13.6788,25.7831,-722.5,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 879,-3.4,0.895562,9.50774,-13.4544,25.2101,-703.02,0,0x3659005436590054365900543659005436590054365900541300000000 930,-1.5,-1.23237,9.91842,-13.2209,24.6372,-734.532,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 996,-7.5,-0.373329,10.5971,-10.6139,59.5876,-740.262,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 1070,-7.5,-0.480448,11.5423,-10.6184,5.72956,-779.796,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1139,-7.5,-0.480448,11.5423,-10.6184,-23.4913,-703.593,0,0x3650005236500052365000523650005236500052365000521300000000 1203,-25.5,-0.0486385,11.6906,-7.34675,-1.71889,-627.389,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 1253,-25.5,-1.14808,11.3377,-6.62795,-28.075,-564.936,0,0x2E43287F2E43287F2E43287F2E43287F2E43287F2E43287F1300000000 1318,-13.5,3.17638,16.2303,-10.0119,-2.86482,-360.39,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1411,-19.5,-3.84384,20.155,-7.59094,-30.3668,-368.412,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1463,-19.5,-8.79669,18.6473,-3.71995,-2.86482,-415.394,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1562,-19.5,-0.473976,15.5991,0.287766,6.30251,-717.916,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1588,-37.5,-2.59009,17.959,1.77416,-52.7121,-751.148,0,0x496B026B496B026B496B026B496B026B496B026B496B026B1300000000 1667,-13.5,1.73243,17.182,-1.26251,8.02139,-809.017,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1734,-7.5,0.914882,17.6301,-1.02638,-5.15664,-733.386,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1784,-55.5,0.681038,18.0783,-0.929151,-20.0535,-775.785,0,0x3651004F3651004F3651004F3651004F3651004F3651004F1300000000 1838,-109.5,0.681038,18.0783,-0.929151,-48.1285,-1029.61,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 1874,-157.5,-4.18126,17.2379,-4.93717,8.59435,-1039.35,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 1941,-121.5,7.42415,14.9587,-4.96118,-1.82494e-005,-1127.58,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 1993,-73.5,7.42415,14.9587,-4.96118,16.0428,-1157.95,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 2053,-31.5,6.80535,12.1119,0.448142,-16.6158,-1167.69,0,0x1450147F1450147F1450147F1450147F1450147F1450147F1300000000 2102,-31.5,6.33566,14.9523,3.12125,-17.7617,-1119.56,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 2154,-19.5,6.33566,14.9523,3.12125,-11.4592,-1151.07,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 2178,-19.5,-2.26488,15.7571,8.33398,-11.4592,-1082.32,0,0x3651004E3651004E3651004E3651004E3651004E3651004E1300000000 2258,-25.5,-0.235153,15.4131,5.13626,10.8862,-1058.25,0,0x34432F7F34432F7F34432F7F34432F7F34432F7F34432F7F1300000000 2373,-13.5,-0.57706,15.8278,5.15549,3.43772,-1068.57,0,0x3654005836540058365400583654005836540058365400581300000000 2431,-13.5,0.397604,16.8343,4.08828,6.30251,-1094.35,0,0x33432E7F33432E7F33432E7F33432E7F33432E7F33432E7F1300000000 2477,-85.5,0.397604,16.8343,4.08828,-2.86481,-1082.89,0,0x3650005536500055365000553650005536500055365000551300000000 2513,-85.5,2.25114,17.0331,6.18707,-18.3347,-1006.12,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 2553,-91.5,-0.950208,14.3539,-3.63759,-41.8259,-810.164,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 2580,-37.5,-0.587243,13.8287,-3.75967,-36.0964,-648.59,0,0x31432F7F31432F7F31432F7F31432F7F31432F7F31432F7F1300000000 2647,-13.5,-1.33018,16.4952,0.13011,-36.0964,-648.59,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 2689,-19.5,-1.33018,16.4952,0.13011,25.7831,-713.334,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 2750,-13.5,-1.33018,16.4952,0.13011,-9.74031,-711.615,0,0x3643007F3643007F3643007F3643007F3643007F3643007F1300000000 2807,-109.5,-1.99186,15.2632,-0.181186,-3.43778,-708.75,0,0x3653004E3653004E3653004E3653004E3653004E3653004E1300000000 2870,-475.5,-68.5912,14.6968,-9.52214,-20.6265,-708.177,0,0x5B671A7F5B671A7F5B671A7F5B671A7F5B671A7F5B671A7F1300000000 3000,-475.5,-68.5912,14.6968,-9.52214,-20.6265,-708.177,0,0x146B146B146B146B146B146B146B146B146B146B146B146B1300000000 0
2011-03-25 追加: 歌詞表示用ニコスクリプト出力する Python スクリプト張っておきます
Python 2.6.6 用。
data = u"""147 ぴぴぴ 返信ください 238 回線絡めた 手が触れるように 364 夢を 駆けて差し伸ばす 459 不意につまづいた 519 眩い景色に見慣れて 592 一言交わして おはよう 772 817 すべてを塗り替えて 何かも無くした 937 そう思っていたの まだ 1027 1045 たった一つだけ 力が残された 1141 光が溢れて 1231 君に伝えられないの 1352 たくさん抱えすぎて何を言えばいいの 1443 いつの間にか変われたのかな 1564 遠い空がこんなに浅く感じた 1685 1695 ぴぴぴ 聞こえますか 1785 今走るよ 風掴むために 1912 弾んだ音を生み出して 2003 振動の波寄せて 2064 愛の形よ舞い上がれ 2130 前が歪む 涙が邪魔臭くて 2310 それならば笑顔で行こうと 2431 まっすぐに決めたの 2552 ラララほら明日へと ありがとう 2822""" color = '#FFFFDD' # 文字の色 offset = -2 # 表示タイミングをずらすフレーム数 d = [] maxtext = 0 for i in data.split('\n'): a = i.split(' ') if len(a) == 1: time = int(a[0]) text = '' else: time = int(a[0]) text = a[1] maxtext = max(len(text), maxtext) d.append((time, text)) print 'maxtext =', maxtext print out = [] for n in range(len(d) - 1): time, text = d[n] nexttime, hoge = d[n + 1] text = text + u' ' * (maxtext - len(text)) s = (time - offset) / 30.0 L, amari = divmod((nexttime - time) / 30.0, 1) a = u'%.3f:shita big %s @%d:%s' % (s, color, L, text) out.append(a) print a print 'frame: %d, sec: %.3f' % (int(amari * 30), amari) f = open('nicoscript.txt', 'w') f.write('\n'.join(out).encode('utf-8')) f.close()
data の部分に
MMDフレームNo[半角スペース]全角歌詞
の形で歌詞を書いておきます。
実行すると、
maxtext = 17 4.967:shita big #FFFFDD @3:ぴぴぴ 返信ください frame: 0, sec: 0.033 8.000:shita big #FFFFDD @4:回線絡めた 手が触れるように frame: 6, sec: 0.200 12.200:shita big #FFFFDD @3:夢を 駆けて差し伸ばす frame: 4, sec: 0.167 15.367:shita big #FFFFDD @2:不意につまづいた frame: 0, sec: 0.000 17.367:shita big #FFFFDD @2:眩い景色に見慣れて frame: 12, sec: 0.433 19.800:shita big #FFFFDD @6:一言交わして おはよう frame: 0, sec: 0.000 25.800:shita big #FFFFDD @1: frame: 15, sec: 0.500 27.300:shita big #FFFFDD @4:すべてを塗り替えて 何かも無くした frame: 0, sec: 0.000 31.300:shita big #FFFFDD @3:そう思っていたの まだ frame: 0, sec: 0.000 34.300:shita big #FFFFDD @0: frame: 18, sec: 0.600 34.900:shita big #FFFFDD @3:たった一つだけ 力が残された frame: 6, sec: 0.200 38.100:shita big #FFFFDD @3:光が溢れて frame: 0, sec: 0.000 41.100:shita big #FFFFDD @4:君に伝えられないの frame: 0, sec: 0.033 45.133:shita big #FFFFDD @3:たくさん抱えすぎて何を言えばいいの frame: 0, sec: 0.033 48.167:shita big #FFFFDD @4:いつの間にか変われたのかな frame: 0, sec: 0.033 52.200:shita big #FFFFDD @4:遠い空がこんなに浅く感じた frame: 0, sec: 0.033 56.233:shita big #FFFFDD @0: frame: 10, sec: 0.333 56.567:shita big #FFFFDD @3:ぴぴぴ 聞こえますか frame: 0, sec: 0.000 59.567:shita big #FFFFDD @4:今走るよ 風掴むために frame: 7, sec: 0.233 63.800:shita big #FFFFDD @3:弾んだ音を生み出して frame: 0, sec: 0.033 66.833:shita big #FFFFDD @2:振動の波寄せて frame: 0, sec: 0.033 68.867:shita big #FFFFDD @2:愛の形よ舞い上がれ frame: 6, sec: 0.200 71.067:shita big #FFFFDD @6:前が歪む 涙が邪魔臭くて frame: 0, sec: 0.000 77.067:shita big #FFFFDD @4:それならば笑顔で行こうと frame: 0, sec: 0.033 81.100:shita big #FFFFDD @4:まっすぐに決めたの frame: 0, sec: 0.033 85.133:shita big #FFFFDD @9:ラララほら明日へと ありがとう frame: 0, sec: 0.000
みたく
ニコスクリプト 間の時間
という形の出力が出ますので、不自然にならない範囲でフレームNoをずらして間の時間ができるだけ少なくなるよう調整してください。*1
- nicoscript.txt
というテキストファイルに貼付け用のニコスクリプトが出力されますから、それを投稿者コメントのエディタモード画面に貼りつければOK。
上記 Python スクリプトのコード部分は好きに流用してください。(歌詞部分はラマーズPの著作物なのでそちらでの指示に従ってください)
*1:文字の表示タイミングは 1/1000 秒単位で指定できるのに表示時間は秒単位でしか指定できないので調整が必要