やってみたい夢
世界的にも大人気の漫画・アニメ「ドラゴンボール」
その中で初期から出ていながら最新作まで使用されるほどの印象的な技と言えば、「かめはめ波」ですよね。
古今東西多くの方々が真似をしつつ、何らかの形で挑戦しています。
自分もそのうちの一人。
Oculus QuestなどのVR機器を使いつつ、「かめはめ波」を撃つ感覚を味わいたい
その想いを形にしたかったんです。
参考のためにかつて存在していたVRZONEで展示されていたものを体験して、その後に挑戦したのですが、簡単にできそうなんですけど、どうにもうまくいかないまま時間が経過していました。
ですが、ようやく解決策も見つけて、実現することができました。
作ったもの
できたものを動画にしたものがこちら。
イメージとしては手を付けて、少し経つと光球が手のひらに出現、気が高まったところでオーラが発生、そして両手を前に出すと、かめはめ波が出る
そういう流れ
先端の方のシェーダが変なノイズが入っているのと、光線部分がぺらく見えるのが気にはなりますが、動きというか流れはこんな感じというものができました。
実際にやってみると、こんな出来でも無邪気に何度も遊んでました(笑)
どうやって作ったの?
今回はUnityと無料アセット、そして1つの有料アセットを使って、制作しました。
今回使ったアセット
今回使用したアセットはこちら。
かなり前から購入していたんですが、肝心なエフェクトの仕様を理解できておらずに、実現できていなかったというオチでした。特にかめはめ波の光線部分。
その中で使ったのは以下のパーツ。
光線部分はDemoに使われているPrefabにある「BlueLaserOBJ」
オーラ部分はPrefabにある[Combat]-[Aura]-[Charge]の「AuraChargeBlue」
光球は同じくPrefabにある[Combat]-[Spheres]-[V2]の「BlueSpherev2Missile」
構成は?
Oculus謹製のOVRControllerに上記の3つを配置します。
イメージとしては下記のイメージ
理想は右手と左手の中間をとった場所に「Power」(光球)を、その先に「Beam」(かめはめ波にあたるもの)、「Aura」はコントローラの足元に置くと良いでしょう。
ちなみにそれぞれに音が設定されているので、無効にしておかないとうるさいことになります。
スクリプト制御
C#スクリプトで制御します。
今回はごく簡単なパターンで。
ボタンを押すと、各オブジェクトの表示(setActive(True))にするというのが一番楽。(通常はsetActive(false)にしておく)
こだわるならば、両手の位置チェックをして一定時間ずつで展開させるのが良さげ。
「か~め~」あたりはフラグだけ、「は~め~」で後ろに手をもっていって溜めたら「光球」を表示、さらに時間経過でオーラを表示化&フラグ立て、そして両手を前の判定部分にいったら、「光線部分」を表示するという形にする感じでしょうか。
もし何かを壊したいという場合は透明の弾を飛ばす感じにするのもありかもしれませんね。
あとは音も加えると、また違ってくるはず。
最後に
やはりアレをやりたいという想いを実現させるのは大切。
できそうなものを色々なところから考えて組み合わせて、それができた時の感動は予想以上でした。
もし自分のように悟空たちのように「かめはめ波」を撃ってみたいということをお考えの方は参考にしていただけると嬉しいです。
コメント