Unity+Oculus+MMD とりあえず書き留めておく場所

Unity+Oculus+MMD VRでキャラクターと遊ぶ

2015夏OcuFesに参加してきました(出展コンテンツ解説編3)

初音ミクVRライブ」解説編その3です。

f:id:emifuwa:20150831214546j:plain

 

というか…

「プログラミングが一ミリもできない人が無理やりUnityでなんか作ろうとしたらこうなった記録」

って感じになりましたね。

 

まずは、ステージの構築から。

 

VRライブと言いつつも、ステージらしいステージがあるわけではありません。

重いし、あと結局「本当にライブっぽさを感じる」って相当敷居が高いと思うんですよね…

Unityちゃんライブとか、モーフィアスのミクさんライブとか、それっぽいのはプロにまかせて、私は曲からイメージできる宇宙っぽい、ふわーっとしたもので十分だと思いました。

f:id:emifuwa:20150830213520j:plain

それで出来上がったのが、こんな感じ。

 

このコンテンツに使用したオブジェクトは

 

①ミクさん

②足元にあるカプセルっぽいやつ(ここでは見えてない)

③「HATSUNE」のロゴふたつ

④「shakeit!」のロゴ

⑤星が円形に連なった模様(ピンクと青)

⑥ピアノの鍵盤を円形に配置した模様(ここでは見えてない)

 

これだけで、そのうち3Dなのは①と②だけ。

③と④は自分でPhotoshopでこんな感じの素材をつくり、Unity上でSprite化したものです。

f:id:emifuwa:20150830214309j:plain

あのさー!!!Spriteってさー!!!便利よなーーーーー!!!

こんな便利なもんあるならはやく言ってよ!!!

 

とすごく思いました。

まああれだ…Spriteって通常はあれね…2Dゲームのアニメーションとかに使うやつらしいですね…こう、ドットアニメっぽいやつとかさ…

そんなことはどうでもよくてですね…私はなんかこう、不自然じゃなく空間上に貼り込める映像みたいなの欲しかったんですよ…

目の前にあるんじゃなくて後ろの方で背景というか賑やかし的に使うなら、これでも全然問題ないやんか~~

しかも適当にシェーダ当てといたら、そんな安っぽい感じにもならんし…!!

これに気付いて、だいぶ楽になりました…(*´∀`*)

⑤⑥も、同じやり方でSprite化しました。

 

これなら重くないし、しかもアニメーション機能を使えば色替え・サイズ替え・シェーダ替え・移動回転も自由自在じゃないですかーーーーー!!!やったー!!!!

 

MMD者の私からすると

「AviUtlの2D編集的に使えるやつキタワアアアアアアアアアアア」って感じだったですね…

 

というわけで、

shakeit!ロゴは消えたり現れたりもするし、アニメーション機能でシェーダをリズムに合わせて替えたりしています。

星の輪も、曲の流れにあわせてゆっくり動かしたり勢い良く回したり、止めたり。

鍵盤の輪は、大きくリズムを刻むところでサイズを大小と変化させることでアクセントを付けています。

全部をチカチカさせすぎるとうるさいので、HATSUNEロゴは特に何もせずそのまま。

 

そう…この話をしないといけないね…

アニメーション機能…ね…

これを教えてもらい、まあ色々ね…オブジェクト動かしたりなんだかんだをタイムラインで管理できるようになったんだけど…

Unityのアニメーション機能ものすごく使いづれえええええええええええ

死ぬほど使いづれええええええええええええええええええええええええ

…っていうのは折に触れ主張していきたいと思います。

 

一見MMDのタイムラインに似てて、これ僕にも出来そう!と思わせるんですが…

f:id:emifuwa:20150831204039j:plain

左の「Add Property」ってところで、色んな項目を追加していって、それらを数値やカーブで制御できるんです…(この図ではライトの色や強さを指定してます)

f:id:emifuwa:20150831204145j:plain

ほらカーブモードにも出来て!補間の形状も指定できて!!やだ便利!と思うじゃない…?

これが死ぬほど使いづれえええええええええんだよ正味の話がよ!!!

 

いや…あれですよ…

MMDがね…使いやすすぎるんです…

MMDはね…あの機能がメインのアプリケーションであって…使いやすいのは当たり前ですよね…

Unity先生はねほら…死ぬほどいっぱいあって使い切れない機能のうちのごくひとつですからね…

しかもたぶんこれをメインで使ってる人そんなに居ませんからね…

インターフェイスとか使いやすさとか、そんな瑣末なことは世界のUnity先生には関係ないですよね…

だからね…Unity先生は悪くないんですよね…たぶん

 

これね、実際使ったことないと、この死ぬほどかゆいところに手が届かない感は伝わらないと思うので、MMDやってる人ほんと使ってみてください。そして私と飲みましょう。

あえて1つ具体的に指摘するなら

「タイムライン上のスクロール&移動がやりにくすぎ」

矢印キーでタイムライン上移動できるようにしてください(真顔)。

 

あとねもう1個ね、大声で主張しておきたいのはね、

Unityって、「100フレーム目までから200フレーム目までだけ再生して確認したい」っていうのがね、できないの。

できないの。

だからね、3500フレーム目から3560フレーム目までの演出がうまくいってるかどうか確かめたいだけでも、全部最初から再生なの。

この何千フレームもあるコンテンツをね…

いちいち最初から…全部再生しながらね…確認作業するのね…

とても辛いの…

 

というわけで、今度やる時はなんたらエディタとかを…導入してやりたいです…

もっとサクサク作業したいです…

 

最後に、エフェクト(パーティクル)の話です。

 

今回、オブジェクトに容量を割かなかった分、ほとんどパーティクル系エフェクトでの演出にぶち込みました。

アセットストアに汗水たらして働いたお給料を注ぎ込んで、人様のつくった素敵なエフェクトを購入したりしてな!

それらをなんか適当に配置すれば!なんかほら!素敵っぽくなるやん?

もちろん、僕はスクリプトが使えないからね!エフェクトの開始位置指定は全部Start Delayで指定。

ちゃんと音に合ってるかどうか確認するのも、全部最初から再生してさ…

「あ、ほんのちょっとずれてる」→最初から再生

「うーんまだわずかに…」→最初から再生

でもね、なぜかデータ出力すると再生する度にエフェクトの出現時間が違ったり、むしろ出なかったりという現象が発生。

もうね、あきらめた!!

違ってても、むしろそれそういう演出ですから!ってことにした!

案外「ああ、こういう演出もありだな」って思ったりもしたしね!

再生する度にエフェクトの出現具合が違うんだ!おもしろいよ!!

OcuFes会場でモニタを眺めつつ「あ、また出現場所違ってる」「このエフェクト5回に1回くらいしか出現しないな~」と思いながら見てました!!

いまだに理由がわかりません!!

 

前回の記事で言及した「背景を自在に変えられない問題」も、「オーロラのエフェクトのテクスチャをアニメーション機能で切り替える」という手法を使い、背景の空間のビジュアルが何度か切り替わるようになっています。

f:id:emifuwa:20150831212318j:plain

f:id:emifuwa:20150831212637j:plain

f:id:emifuwa:20150830213520j:plain

これもね、フェード的にじわーっと変えることは出来ないから、パッと変わってしまうんだけども、ミクさんが手を叩いた瞬間に変わるとか、目くらましのエフェクトを出して不自然さを減らす、などの努力をしております。

オーロラのエフェクトは3D的に空間を埋めてくれるので、VR的には悪くない見た目だったのではないかと思います。

スクリーンショットをいくつか撮りましたので、こんな感じになったということを、体験していない方はお確かめください。f:id:emifuwa:20150831214725j:plain

f:id:emifuwa:20150831214621j:plain

f:id:emifuwa:20150831214651j:plain

f:id:emifuwa:20150831214902j:plain

 

f:id:emifuwa:20150831214747j:plain

 

「プログラミングがまったくできない素人でも、このくらいならなんとかなるよ!」という勇気を皆さんに持っていただければと思います。