今回は、おそらく最も子供たちに真似された(であろう)キャラクターの必殺技、ドラゴンボールの「かめはめ波」をUnityで再現しようと思います!
かめはめ波に憧れて、ドラゴンボールゴッコ遊びをすることは人生誰しも一度は通る道です。(?)
しかしあくまでゴッコ遊び。
かめはめ波を打っても実際にビームが出るわけでもなく、ビームの軌跡を手でなぞって「デュウウウウウンw」と効果音をつけるくらいしかできませんでした。
しかし今は、ゴッコ遊びではなく、ゲーム制作エンジンUnityでかめはめ波を再現することが出来ます!
そんなわけで、あの頃の夢「かめはめ波を打ちたい」をゲーム内世界で叶えることに挑戦してみたいと思います!
かめはめ波を打つために必要な知識
まずは「かめはめ波」を再現するには何をする必要があるかまとめてみました。
- 「かめはめ波」のモーションを作る
- 「かめはめ波」のビームエフェクトを作る
- 敵への当たり判定を作る
大きく切り分けると、これらが完成したら「かめはめ波」を打ったと言えるでしょう。
しかし自分は
ビームエフェクト←どうやって作るか知らない
といった悲惨な知識状態だったため、いきなり頓挫しかけました。
まずはモーションの作成に絞って、いろいろと調べてみることにしました。
1.かめはめ波モーションの作成を考える
まず、Unity上で「かめはめ波」のモーションなどを作成することが出来るのか、僕が持っているUnity参考書で調べてみたところ、こんなことが書かれていました。
アニメーション作業のほとんどは、Unityのようなゲームエンジンの外で行われます。一般的には3Dアーティストと呼ばれるプロがBlender,Maya,3dsMaxといったプログラムを使ってモデリング、テクスチャリング、リギング、アニメーションをすべて作成しますが、これには相当なスキルと訓練が必要です。そのため、これらの作成方法については本書では紹介しません。
24時間で学ぶ! Unity5 基本操作と開発のコツ 279頁
参考書も匙を投げるレベルのスキル、情報量が必要みたいです。
Unityはゲーム内でモデルに対してモーションの設定などは簡単に行えますが、モーションの作成そのものには大きくサポートされていません。
それらの作成には、参考書でも挙げられていたBlender,Maya,3dsMax等々の知識が必要になる、ということなのでしょう。
さて、ではモーションの作成など1ミリも触れたことがない自分はどうしたらよいのでしょうか。
最初は経験0の自分がモーションを作成するなんて専門知識を体得しようと思ったら、それはもう数カ月から数年のスパンが必要になるのかもしれない、と考えていました。
でも、ニコニコとかでMMD動画をアップしている人たちは、もちろんモーションも作っている人もいます。
それらの人がすべて職業「モーションデザイナー」なのか?と聞かれたらそういう訳でもありません。
そもそもまだ作りたいのは「かめはめ波」1つだけですし、とりあえずやってみようということで、自分でモーションを作ってみることにしました。
Unity上でモーションが作れる「Very Animation」との出会い
ゲームのモーション作成を調べていると、Very Animationというアセット(Unityを拡張できるプラグイン)があることを知りました。
これはUnity上でプレビューを確認しつつ、モーションを作ることが出来る有料アセットです。
私は作ったモーションはUnityでしか使わないので、Unity上でモーションが作れれば、実装テストも簡単に出来るため一番効率的です。
さらに「Very Animation」についてTwitterで調べてみたところ、利用者が概ね絶賛していたのです。
かてて加えて、これを知った時はVery Animationのセール中で半額の僅か25ドル(税込み)で購入できる状態でした。
もうこれは「Very Animation」に賭けてみるしかない!と感じ、モーション作成はこのアセットで行うことを決意しました。
これは「Very Animation」のモーション作成画面です。
しかし、やっぱり初めて挑戦するモーション作成の独特のUIは馴染まず、最初は5分触って諦めました(笑)。
多分どのソフトでも最初はこうなるだろうなと思います。
ただ、「very animation」には、作者の方がYoutubeにマニュアル動画を上げてくださっていたので、その動画のマネをしていくうちに、「あ、こうやってモーションが出来ていくのか」と徐々に理解していくことが出来ました。
何より大きいのが、このVery Animationの作者の方が日本人ということ!
Youtubeのマニュアル動画には日本語字幕がありましたし、PDFマニュアルも日本語版が用意されています。
英語アレルギーが強い自分にとってこの手厚い日本語対応は、とても心強かったです。(作者様、本当にありがとう)
そんなこんなで試行錯誤していくうちに、下手なりにとりあえず「かめはめ波」のモーションを仕上げることが出来ました。
なんて片手かって? いや僕はセルゲームの孫悟飯の片手かめはめ波が好きなので…。(両手は難しかったOTL)
ちなみにモーションの作成時は、自分でそのモーションの真似をして、体の動きを確かめたりする時もあります。
うっかり家族に見られて誤解されないよう注意しましょう。
ビームエフェクトの実装
モーションの作成はこれで完成として、次はビームエフェクトです。
こういったエフェクト関係は、Unityの「パーティクル」を利用することで実装が出来ることは知っていました。
パーティクルとは、粒子でエフェクトを表現できるUnityの機能で、設定次第で炎や雨、風など、様々なエフェクトを作ることが出来ます。
しかし設定項目だけでざっと100以上の項目があり、モーションほどではないにしろ、自力で理想のエフェクトを作るには、各種設定項目の仕様を把握しなくてはいけません。
そこをすべて理解するのは流石に時間かかるので、パーティクルを利用したエフェクトの作成は書籍を参考に作ってみました。
こちらの本です。
ちょうどビームエフェクトの作成方法について解説があり、そちらを模倣することで1時間もかからず実装出来ました。
出来上がったビームエフェクト
サンプルでかなりの数のエフェクトが用意されていますし、作っていくうちに各種設定を変更するとどのようにエフェクトが変化するのかも学ぶことが出来るので、オススメの書籍です。
そして完成したビームエフェクトを、先ほどの「かめはめ波」モーションと作ったビームエフェクトをユニティちゃんの右手にアタッチし、さっそく発射!
か、かっこいい…(自画自賛)
ビーム線に小さな粒子も飛んでいるのがオシャレポイント高いです。自分が作ったわけじゃないけど…。
当たり判定の実装
次にこの「かめはめ波」を、敵にヒットさせるところまで進めて一旦完成としたいと思います。
これは特に難しいことではなく、上述のパーティクルのcollision(接触)設定を行うだけで、ビームのヒット判定を作ることが出来ます。
適当に敵を用意して、判定用の攻撃食らいモーションを設定してあげたら完成です。
実際にTPS(三人称視点)から、かめはめ波を敵にぶつけてみましょう。
か~め~は~め~・・・・
波ッ!!
た、楽しい・・・!
ちなみに以前作っていた、PS4コントローラーを使用したスプラトゥーンよろしくのジャイロ操作にも対応しているので、エイムも快適です(PCの場合はマウス操作になります)
しかし、せっかくこんなに派手な必殺技を作ったのに、リアクションの薄い敵一体しかいないのは寂しいですね。
そもそもステージもずっと精神と時の部屋状態なので、遊びごたえのあるステージを作るのも今後の課題です。
いかがでしたか。
今回は一連の作業を一記事で納めましたが、実際は着想からかなり時間をかけて今回の「かめはめ波」を完成させました。
Unityは表現の幅がとても大きく、その自由度ゆえに目的を達成するのは中々一筋縄ではいかないです。
しかし、それ故に完成させた時の感動は大きいものがあります。
Unityは無料で利用できるので、ゲーム制作に興味がある方は是非、Unityについて調べてみてくださいね。
以上、Unityで「かめはめ波」を作りたい、でした。
コメント