ふらふら。なう

読者です 読者をやめる 読者になる 読者になる

ふらふら。なう

ふらふらしながら、主にWebとVR技術のこと、映画の感想、体験したサービス、気になったことなどに関してゆるく書いていきます。

Unity初心者がVRアプリ作ってみた話②アプリ開発準備【Unity, VR, アプリ】

 

今日から、Unityでスマホアプリをつくった時のやったことを具体的に書いていきます!

 

「剣道☓スマホVRアプリ」という超ニッチな分野でつくってしまいましたが、スマホVRアプリ開発している人なら機能として参考になる部分もあるかも!

 

 

 VRアプリ開発準備やったこと

  

 

VRアプリ開発でやったこととしては

・作りたいVRアプリの構想

・VRアプリの機能/画面遷移のラフスケッチ

・必要となる機能の箇条書き

・メンター(アプリ開発経験者)との開発タイムライン相談面談

・開発のタイムライン作成

です。これらに関して、具体的に何をしたのかを書いていきます。 

 

 

作りたいVRアプリの構想

 

 個人的には、最初のこの「作りたいアプリの構想」が一番難しかったです。スマホVRアプリで何を作りたいのか考えた時に「何を作りたいんだろう…?」と悩みました。

 

とはいえ悩んでいても仕方ないので、既存のVRアプリを片っ端から体験していくことに。

 

f:id:furafura-nau:20170331173753j:plain  f:id:furafura-nau:20170331173820j:plain  f:id:furafura-nau:20170331173944j:plain

 

AppStoreで「VR」と名の付くアプリを片っ端からダウンロードして遊んでみることに。めちゃくちゃ面白いものもあれば、なんじゃこりゃみたいなやつまでありました。

そして面白いことに、ある程度遊んでみるとスマホVRアプリのタイプが見えてきました。

・映像楽しむ系

 →360度の映像を楽しむことに特化している。映像にこちらから働きかけることはできない。

・インタラクティブ性楽しむ系

 →目線で操作したり、頭の傾きで操作したりする。こちらの動きに応じて画面の動きが変わるため、没入感は高くなる。(*ただし、描写がリアルであればあるほどリアルな動きを求めてしまって、かえって没入できない。)

・聴覚連動系

 →目線の動きや、スマホの傾きに応じて、音声の聞こえる方向が変わったり、音声の聞こえ方が変わったりするもの。これは視覚+聴覚で楽しめるから楽しかった。

・広告出てくる系

 →これは純粋にうざい。操作の邪魔になるから、不快度合いが高かった。VRで広告を不快に感じられないように提示するの難しいなと感じた。

 この中で、「インタラクティブ性」「聴覚連動系」は、自分がやっていて楽しかったので、その要素を入れることに。

 

かつ、スポーツ系のアプリが面白かったので、自分が昔やっていた剣道VRアプリを作ることにしました!

 

 

VRアプリの機能/画面遷移のラフスケッチ

 作りたいアプリの内容が決まったところで、漠然としたアイデアを紙に落としてみて具体的に考えることに。

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

 

スマホVRアプリの特徴として、操作方法が

・スマホをかぶったプレイヤーの目線の位置

・スマホ(プレイヤーの頭)の傾き

くらいしか与えられないので、その2種類だけでいかにゲームを作っていくかという制約がありました。

 

本当は自分の動きたいように動き回って、攻撃や防御をできるようなゲームにしたかったのですが、以上2つの制約から、自由に動ける機能は断念。

 

頭の傾きでプレイヤーの動作(攻撃・防御)を指示するというものにしました。

 

また、スタート画面→プレイ画面 or ルール画面→プレイ画面→結果画面という画面遷移の流れをザックリ決めていきます。

 

 

必要となる機能の箇条書き

 

 ザックリしたゲームの内容と画面遷移の流れを決めた後は、具体的に必要な機能の一覧を作成しました。

 

f:id:furafura-nau:20170331175945j:plain

 

Github上でIssueを作って、そこに必要な機能を箇条書きにしていきます。

アプリを作っている時に、「どんな機能を実装しよう…?」と考えなくてもいいようになるので、最初の段階で想定できる機能は全部羅列したほうがいいでしょう。

 

機能を羅列した後は、ゲームとして成り立つために必要な機能の順に優先順位付けをしておきます。「いらない機能の実装に時間を食われてしまって、アプリが完成しない」という悪夢に悩まされないためにも!

 

 

メンター(アプリ開発経験者)との開発タイムライン相談面談

 これは初心者はぜひやっておくべきだと思います!

自分のつくった開発タイムライン、必要な機能の実装方法など、既にアプリを作ったことのある人に相談することで、建設的なフィードバックをもらえます。 

 

 

ここで、気になっていたスマホの傾きの検知方法の実装の方法、Asset Storeでの素材の探し方などをきくことができました。

 

もちろん、ある程度自分の中で仮説を持った上で相談したほうがいいですね。

仮説に対して回答をもらったほうが、何も考えずに相談するのの10倍速く効果的な打開策を見いだせます!

 

 

開発のタイムライン作成

 アプリ開発経験者に相談して、ある程度開発の道のりが見えてきたところで、開発のタイムラインを完成させます。

レイアウト/素材配置完成:2日

プレイヤー/敵アニメーション作成:2日

審判アニメーション作成:1日

Start画面作成:1日

画面遷移設定:1日

タイマー/スコア/敵キャラ2作成:2日

アプリ仮完成のための調整:1日

バッファ(予備日):1日

バグチェック:1日

アプリリリース:3日

ぼくは15日間でオリジナルアプリを完成させてリリースするタイムラインをざっくり作りました。

 

もちろんこのタイムライン通りに進むことはなかったですが、開発の進捗をチェックするうえで参考になりました。

 

 

 

以上でアプリ開発準備は終りです。

 

次回からUnityを使ってのゲーム開発に入っていきます。

 

 

では。