ふらふら。なう

ふらふら。なう

渋谷で働くサーバーサイドエンジニアのふらふらメモ

Unity初心者がVRアプリ作ってみた話 ①アプリ開発やったこと全体像【Unity, VR, アプリ】

 

3月中ずっとVRアプリ開発(とJavaの勉強)をしていました!

振り返りがてら1ヶ月やっていた内容をまとめておきます。

 

VRアプリ開発興味ある & Unityちょっと触ったことある人向けに書いていきます!

 

 

 VRアプリ開発全体像

  

  

VR空間上で剣道をできるゲームを開発しました!

上の動画はUnity上での実行の様子です。

 

初めてのアプリ開発ということもあって、非効率的な部分も多かったですが、その部分も含めて振り返っていきます。

 

今回のVRアプリ開発全体像と、それぞれにかかった時間を振り返ると

〜準備〜

① Unityの使い方/VRの基本的な機能実装勉強:45時間

〜企画〜

② オリジナルアプリの企画:2時間

〜開発〜

③ 素材集め&配置:6時間

④ プレイヤーと敵の作成:8時間

⑤ 審判の作成:2時間

⑥ タイマーの作成:2時間

⑦ Start画面の作成:7時間

⑧ 勝ち抜きスコアと画面遷移の設定:3時間

⑨ 音声の追加:4時間

〜リリース〜

⑩ Androidでアプリリリース申請:1時間

計:80時間 

こんな感じで時間を使っていました。

 

作業をしていない時もアプリ開発アイデア考えたりしていたので、もう少し時間かかってる気もしますが、PCの前で作業してた時間はこれくらいでした〜。

 

 

 VRアプリ開発それぞれしたこと 

 

それぞれの時間でしていたことをザックリ振り返ります。

 

① Unityの使い方/VRの基本的な機能実装勉強:45時間

 そもそもアプリ開発もしたことなく、Unityの使い方もよく分かっていなかったのでTECH::CAMPのVRコースに通ってUnityの使い方を一通り教えてもらいました。

カリキュラムどおりにゲーム作っていけば、誰でも簡単なゲームが作れてしまうという魔法のような教材に感謝!

 

 

 

 

上のようなゲームを作りながら、Unityの基本的な機能を理解していきました。

 

 

② オリジナルアプリの企画:2時間

 TECH::CAMPのカリキュラムで基本的なアプリ開発の方法を学んだ後に、自分の作りたいVRアプリの企画をしました。

 

自分が剣道をずっとやっていたということもあって、「剣道☓VR」のアプリを創ることに!

ちなみに、スマホVRアプリなので、基本的に「頭の傾き」「目線の位置」という入力方法だけを与えてゲームを操作する必要があります。

「その制約下で、どんな剣道ゲームにするのか?」

アイデアをラフスケッチしていきます。

 

f:id:furafura-nau:20170331154619p:plain  f:id:furafura-nau:20170331154715j:plain  f:id:furafura-nau:20170331154741p:plain

 

最低限の画面遷移とレイアウトのイメージを図式化することで、ゲームのイメージが明確になりました。

 

その上で、TECH::CAMPのメンターと面談して相談し、オリジナルアプリの開発タイムラインを設定。

 

 

③ 素材集め&配置:6時間

 いよいよオリジナルアプリ開発のスタートです!

最初は、自分の創りたいゲームの素材を集めていきます。UnityではAsset Store から無料でも豊富なAssetをダウンロードすることができ、簡単にゲームを作れます。

 

 

とはいえ剣道のAssetは存在していなかったので、自分でつくることに...。

最初に人型のAssetに甲冑を装備させたプレイヤーを作ろうと思ったけど、剣道の世界観に合わないということで方向転換。ここで無駄に時間を使いました。

 

ここで、剣道場のレイアウトなども作っていきます。

 

f:id:furafura-nau:20170331155911p:plain

 

 

④ プレイヤーと敵の作成:8時間

 剣道場が完成したところで、プレイヤーと敵(相手キャラ)を作り、アニメーション(プレイヤーの動作)とDiveCamera(スマホの傾きに応じてカメラが傾く)を設定していきます。

 

f:id:furafura-nau:20170331160821p:plain

 

竹刀を作るのが意外に大変でした。

プレイヤーを1人つくれば、それをコピー(Prefab化)して敵はすぐにつくれます。

 

プレイヤーは頭の傾きに応じて攻撃・防御・かわす動きをすることができ、 敵はプレイヤーが攻撃してきたら防御、一定時間ごとに攻撃してくる(アニメーション)実装をしました。

 

 

⑤ 審判の作成:2時間

 審判もプレイヤーと同じノリで作っていきます。旗にひらひらした動きをつける所で少し時間を取られました...。

 

f:id:furafura-nau:20170331161236p:plain

 

 プレイヤーもしくは敵の攻撃が相手の面に当たれば審判が旗を上げるようにしました。

  

 

⑥ タイマーの作成:2時間

 試合の時間を測るタイマーを設置しました。0秒から始まって、2分経てば「試合終了」という表示をするような実装をします。

 

f:id:furafura-nau:20170331163200p:plain

 

 

⑦ Start画面の作成:7時間

 ⑥まではゲームのプレイ画面を作っていましたが、ここでゲーム開始前のStart画面をつくっていきます。ゲームを立ち上げて最初の画面であり、ゲームオーバーになった時に戻ってくる画面でもあります。

 

f:id:furafura-nau:20170331164751p:plain

  

ゲーム中にプレイヤーが勝ち抜いた数をカウントしておいて、ゲームオーバーになった際に表示する機能も実装します。

 

 

⑧ 勝ち抜きスコアと画面遷移の設定:3時間

 剣道場に勝ち抜き数を表示するボードを設置し、Start画面からPlay画面への画面遷移を実装します。

 

f:id:furafura-nau:20170331164943p:plain

 

 

⑨ 音声の追加:4時間

 1本が決まれば、会場が沸き、打撃音が出るようにします。また、審判が「勝負あり!」とかけ声をする音声もつけます。

 

 音声ファイルはogg形式のものが良いとメンターの方に教わり、動画ファイルをogg変換サイトでogg形式に変換して使いました。

 

 

⑩ Androidでアプリリリース申請:1時間

 ゲーム自体が完成したところで、アプリのリリースに入ります。

 

当初はiOS版でリリースしようと思っていたのですが、「申請結果が出るまでに3日以上かかる&開発者登録で99ドル取られる」ということで、チキってAndoroidでリリースすることに。iOS厳しいですね…。

 

リリースのための各種設定をして、いざリリース申請!

 

 

f:id:furafura-nau:20170331165904p:plain

 

 

 

ここまでがザックリしたVRアプリの流れと、それまでにかかった時間です!

各段階で具体的にどのようなことをしたのかは、また次回以降詳しく書いていきます。

 

 

では。