ラベル Unity-Biorhythm製作 の投稿を表示しています。 すべての投稿を表示
ラベル Unity-Biorhythm製作 の投稿を表示しています。 すべての投稿を表示

2014年3月24日月曜日

アプリ無事公開、そしてデベロッパーセレクト

無事バイオリズムアプリをアマゾンストアに公開して2日。

なぜかアプリがカテゴリ3位になっています。

「そんなに売れてるのか?」とか、「売れてんだろう?w」とか言われつつも実のところさっぱりです。
(ホントに四捨五入で0個になるくらい売れてませんw)

ちょっと珍しいカテゴリ?に配置したので、そのせいかもしれない?という予感です。
よくわかりませんが上位なのは良いことです、少しは目立ちますし( ゚∀゚)


アマゾンデベロッパーセレクト

検索すればでてくるので詳細は割愛。

アプリは2つストアに登録済み、双方ともデベロッパーセレクトの認可が通ったようです。

ということで、

  • アマゾンモバイル広告50万インプレッションが無料っ!
    ※期間設定はアマゾン側で自動設定なようです。Adはアマゾンネットワーク内限定。
  • アマゾン コイン リワード~云々。アマゾンゲーム内通貨が初期購入時に250枚無料おまけ。
  • アマゾンのサービスAWSが最大500USD範囲で25%オフ。
の特典がゲットできたようです。


広告は嬉しいですね無料で宣伝してもらえるわけですよ。早速ポチっと広告設定。

一応ターゲットマシンはKindle Fire想定で開発しているので、アマゾン内広告は嬉しい。なにせ見る人は全員課金登録済みなのでGooglePlayよりも購入率が上がる可能性が高そうです。

AWSはクラウドゲーム配信SDKも提供開始しているので、あわよくばそこで25%オフできるかもしれないです。

ということで、なんとなく気分良くスタートですよヽ(´ー`)ノ



アプリ完成&アマゾンストア登録完了!

完成後、EIN待ちで長らく放置(?)されていたAndroid用バイオリズムアプリのアマゾンストア登録が完了しました!



製作期間は1月半弱でしたが、その後アマゾンストア登録に必要な準備でさらに1月程かかってしまいました。

登録までの工程としては、

  • 1ヶ月半 :Unity学習、アプリ制作
  • 1ヶ月:EINコード申請取得(約4週間)
  • 1ヶ月:新生銀行口座開設手続き(約4週間)
EIN申請と新生銀行手続きは並行して行ったので実質2ヶ月半程です。

EIN取得、口座開設の為1ヶ月ずれこんでいるので当初からも並行して進めておくべきでした・・・事前調査が甘かったですね;。


登録したてだと検索にでてこないのか、自分のアプリが発見できませんけど!(笑

とりあえず制作は終了で一区切りつきました(´∀`)。

※追記:
登録完了ステータスとなってから、ほぼ丸1日程度でアプリストアに反映されるようです。
Sell数もDEVELOPER CONSOLEにはリアルタイム反映しないようですね。






2014年2月6日木曜日

#11.進捗

自分用的にも進捗メモ。

開発開始から約25日経過で基本動作可能な状態(β1)。
計算精度確認済み。
Kindle Fire HD8.9実機動作で56~60fps動作確認済み。


工数割合はざっと、
C#コード実装>>>>モデリング>テクスチャ>>>>>>>サウンド(半日位)。

Unity学習も込みなのである程度の工数増はしょうがない。
Unity経験済み後なら2週間以内リリースを目指したいところ(白目。


一ヶ月でリリース予定だったがちょっと厳しい。
実装完了=終了ではない>アマゾン用AD追加、アマゾンストア用リリースガイドラインの確認等が必ずある。
C#実装工程で時間を使いすぎてる=一部の機能実装の評価に時間をかけすぎ(笑。これらを早期割り切りしていれば1週間は確保できていたハズ。


■おおむね実装完了

  • モデリング(Blenderでゼロベースから作成)誕生日入力ダイアル 、計測日入力ダイアル(0000~9999年)
    メモリセレクタ(1~5)
    ボリュームセレクタ(Full/High/Mid/Low/Mute)
    モデリングはVertex数、CastRayを考慮して2回程再調整。
  • テクスチャ
    Photoshop5.5でゼロから作成。
    テクスチャのアトラス化はしていない(今回はしない予定)。
  • サウンド作成
    商用フリー素材より加工(Soundit3.0LE使用)。Wav形式。
  • コード実装  ※そもそもC#は去年仕方がなくちょっと使った程度。
    各パーツの連動制御を実装。基本動作可能。
    ユリウス関連相互演算クラス。その他西暦関連補正演算含む。
    キー入力クラス(低層、キーリピート等フィーチャ層)。
    サウンド管理クラス。
    画面動的遷移制御クラス(iTween使用)。
    バイオリズムグラフ線描画。OpenGL2.0ESの関数で3D空間に描画。
    バイオリズムグラフに付記する日数文字。メッシュテキストで実装ゴリ押し。
  • その他
    OS識別によりAndroid時「戻る」キー対応。
    Android用証明書同梱ビルド。
    アプリアイコン暫定付与。

■割り切り項目

  • 加速度センサによる論理画面の縦横変更対応
    横にすると拡大倍率がデバイス側で縮小される。これは画面比率10:16の縦16が10に縮小される為。
    → 画面は縦Portrait固定で割り切る。
      次回まじめにやるならカメラ倍率を動的に制御すればできる。
  • 論理画面を自動回転に任せると180度回転時5~6秒かかる。
    → 右画面は縦Portrait固定で割り切る。
      次回用いる場合でもUnityの自動回転関数を用いる方が無難。90度回転は早いので割り切り項目。
  • 論理画面回転による動的UI
    → 画面は縦Portrait固定で割り切る。
     次回これをやる場合はデザイン段階で充分に詰めておくべき。
  • テクスチャのアトラス化
    速度が50~60fps、DrawCallも50そこそこなので今回は放置。

■残作業項目

  • 操作性改善を再検討。キー入力クラスの見直し。
    タッチスクリーンのスワイプ的な入力I/Fに対応作業中。工数的に割り切りたかったが低機能なら簡単にできそうなので実装してみる。→追記:完了。
    AssetStoreのものは高機能すぎるので今回は見送り。
    セレクタの操作がしにくい件の改善対策も含む。→追記:完了(2/6)
  • グラフの意味の付記
    メッシュテキストで表示を行う。→追記:完了(2/6)
  • アマゾンADの追加
    追加方法調査要。難航を極めそうな予感。Unityスタンドアロンでは無理くさい気配。
  • 動的カメラ移動機能を残すか再検討。現状Disable。
  • 日付入力のリセットボタンが必要かどうか再検討。
  • KindleOS認識方法確認。たしかアマゾンのどっかに情報がある。

■要確認項目
  • 画面Ratio補正実装 -> 動作未確認。要各種異Ratioデバイス。
  • アプリ内状態の保存方法。
    ResumeというかPreference保存という辺り。
    アプリを終了してもダイアル状態はできれば保持したい。
    Unityに機能があるか?Activityを介する必要があるか(AndroidOSのAPI利用か)、要確認。
    ※これができないとセレクタ機能の存在価値がなくなるので割り切りにくい。

    →PlayerPrefであっさり解決(2/5)。
■その他

アプリ起動時のスプラッシュ画面カスタマイズはPro版のみ可。
Unity文字は消せない。
IOSはXcode併用(?)で強引に回避してる例あり。



2014年1月22日水曜日

#10.実機チューニング

キーのOFFイベントがタイミングにより稀にこないことを発見。
ちょっと挙動観察と再実装思案で時間を食った(この手の挙動は処理系によっては良くある



ダイアル、キー入力等がおおむね実装完了(当のバイオリズム描画はまだw)。

とりあえず調整後は、現在こんな感じ。動画にしてみた。

パフォーマンステスト


で、本題。
調整前は実機(Kindle Fire HD 8.9)で動作させると定常状態で fpsが14に!?
ダイアルのみの時は60fpsでていたので劇的に落ちている。


ということで原因調査とfpsを改善する方法を検討。


■ライト

 現在シーンにライトは1つしかないが、ライトに関する影響がかなり大きい。
※コードの実行負荷はライト負荷に比べると現状誤差レベルぽい。 結構クラス化してガンガン動かしてるがおもったよりコードの負荷は軽そうなのが意外。

【対象オブジェクトの面積が増えた】

ライト設定はPointライト。
ダイアルのみの場合に対して、現在は本体ケース全体にもライトが当たる。どうやらこれがfpsに影響している。つまり光源処理が重い。

全オブジェクトの Cast Shadows, Receive Shadowsをオフすると1~2fps程度軽減されるがあまり効果はない。
とはいえ、オブジェクト面積は減らしようもない。
※Unityの場合光源は何か当てないと真っ黒になってしまう様子。完全にオフにはできないのかも?

【ライトの種類】

Unityの公式マニュアルにも明記があった。Point、Spotライトが高負荷らしい。最も軽いのはDirectionalライト。
実機実測で以下の通り。

Spotライト: 14fps(コレだった
Pointライト:18fps
Directionalライト:42~45fps

と、いうことでDirectionalライトに変更。
ダイアルだけのときはSpotライトで60fpsでていたので、増えたオブジェクトの光源処理で劇的に落ちたと思われる。



【Light Probes(ライトプローブ)】

Pro版のみ対応なので試せない(´Д⊂。しかしこれはかなり強力そう。

Unity上の光源シーンからテクスチャにベイクするとのこと。
環境光的な光源は10や20個置いてもこれでベイクしてテクスチャにしてしまうという機能。


【カリング】

私的にはクリッピング(?)とつい思ってしまうが、見えない部分のレンダリングをしない設定。
これもPro版のみなので試せない。
※しかし今回の当方のモデリング状況では効果は薄そう。


■DrawCall

説明はネットのあちこちにあるので割愛。

Statでみたところ現在DrawCall数48。スマホ用途も考慮すると40程度に抑えるくらいが良いらしい。

見た目のモデルのわりに48はちょっと多すぎか?




■総頂点数確認

Blender上でモデリングの総頂点数を確認 ->19824頂点。なんか多いw。

原因は数字ダイアル。
そもそもただのシリンダなので1つで20頂点しかない。はずだが、ちょっと形状に曲面を持たせる為ModifierでSubsurf、SimpleDeformで962頂点に膨れ上がってる(※ええ、制作上の手抜きですw)。

ダイアル年x4、月x2、日x2で8個x上下2パーツで16個。
962x16=15392頂点。

つまり全体の7割以上を占めている。ここを詰めれば多分もっと軽くできる。
が、とりあえずDrawCallも40台でfpsも30以上でているので、このまま放置でいきます(ぁ。
※テクスチャに陰影を書き込んでいるので、20頂点のシリンダでも大丈夫そうですけどね・・・まぁ負荷テストにもなるので。C#のコード実装を優先で|-`)




■なんとなくまとめ

まじめにゲーム製作で動くユニットが多くなると多分2万頂点でも多いかも?ということがなんとなく予想できる。ここらを指標にモデリングしていくと調整しやすいかもしれない。
やはり陰影のテクスチャベイクはUnityでも有効手段。必須かもしれない。法線マップはきつそうかな?。
そしてやっぱりモデルの頂点数を減らすのは王道ですね・・・。

3D fpsゲーム等で光源効果を使う演出(Spotライト等)は効果範囲をかなり限定的に(対象オブジェクト、レイヤ)うまく使わないと簡単に重くなりそうである。

Unity Pro版の機能がすごい良さそうですねぇ。ガチで3Dゲームだとすごく欲しくなりそう。
静的バッチングとか使いたくなりそうな機能がことごとくPro版のみになっている(アタリマエか


ちなみにお値段は、
Unity Pro本体:157500円
Android Pro:157500円

計 315000円。


ガチすぎます。仕事でこないとちょっと手だしにくいですねこれは;(苦笑



2014年1月15日水曜日

#09.モデリング進行中


本体のモデリング進行中。

結局色調は全く変わりましたw。

光源は当ててますが、シャドウ以外は結果的に全く利いていない。と、いうか利いてくれないw。
光沢、影も基本的にフョトショ、2Dエフェクタツールでテクスチャに描き込みです。

BlenderでBakeを使ったのはシャドウのみ。これも本体上にのっているオブジェクトの位置をフォトショ上で知るためだけにテンポラリ的に出力。
シャドウBakeの結果からオブジェクトの位置を推察して、実際の影はフョトショで描き込む。

ちなみに中央の金色枠は一応別オブジェクトで作ってますが、その下の本体にも実は描き込んであります。なので枠が無くても実はUnityで真上から見れば同じように見える。

(BlenderでプロジェクションUV生成すると区別が付かない位同じにできる)

 あえて枠オブジェクトを残すのはUnityならでは(?)の表現手法として、実行時に動的にカメラビューを動かすことを当初から考えています。

西暦入力時はダイアル部へ動的にズームアップとかできるはずなんですよ。
なんせ3Dですからヽ(´ー`)ノ

これを目論んでいたのでボタン類も多少小さくてもデザイン重視で描いていた(にしても、小さすぎたけど!)

このGUIで7インチ以下の端末でもあまり操作性が酷いことにはなりにくい?という作戦です。

で、XYZ角度変化無しでもいいんですがUnityのカメラビューは遠近投影もできるので。
そうなると3Dなモデルの存在が生きてくる!

ちょっとそれもそのうち試してみたい感じです。
(単にtweenの移動パス?をちょっと使ってみたいだけともw)



あとは、中央のブラウン管(?)部分のモデリングと、バイオリズムのサイン波形をどう表現するか。

今月中にアマゾンのストアにリリースしたいなぁ~。間に合うんだろうか・・・。