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

たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

05/08~05/21の進捗

プロつく計画5-2:ユニティちゃん迷路を作る(12週目)

小目標

  • ユニティちゃんを自分の手で動かせるようにする
  • シーンの遷移を実装する
    • リザルトシーンの仕様を決める

先週のToDo

  • (1)モデルを動かす方法を調べる
  • (2)Animatorクラスについて調べる

進捗

f:id:ZeitungM:20170521232910p:plain
f:id:ZeitungM:20170521232923p:plain
f:id:ZeitungM:20170521233009p:plain
f:id:ZeitungM:20170521233039p:plain
f:id:ZeitungM:20170521233052p:plain
こんな感じで、Animatorを使ってユニティちゃんにポーズを取らせることができるようになりました。

それから、こんな感じでユニティちゃんがどれくらいの勾配まで静止していられるかを試したりしていました。
f:id:ZeitungM:20170521233218p:plain
45度でも登れることは登れるけどその場にとどまっていられるのは30-35度くらいのもよう。

摩擦係数的なのをいじれば急勾配でもいけるのだろうか。

来週の小目標

  • シーンの遷移を実装する
    • リザルトシーンの仕様を決める

来週のToDo

  • ユニティちゃんの全アクションを見てみる
  • どういう状況で、ユニティちゃんにどんなアクションをさせるかを考える

プロつく計画6:ランニング用走行距離計測アプリを作る(12週目)

そろそろこれ飽きてきた…

小目標

Google Location Services APIへ乗り換える

先週のToDo

  • (1)Google Location Services APIを導入する
  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

進捗

ほとんど何も進んでません(´・ω・`)

サンプルコードを示してくれているところはあるのだけど(´・ω・`)
というかGoogle Location Service APIが公式の名称なのかもよくわからん(´・ω・`)

来週の小目標

Google Location Services APIへ乗り換える

来週のToDo

そのためにとりあえずこれを読む

https://developers.google.com/android/reference/com/google/android/gms/location/

  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

05/01~05/07の進捗

プロつく計画5-2:ユニティちゃん迷路を作る(11週目)

小目標

  • ユニティちゃんを自分の手で動かせるようにする
  • シーンの遷移を実装する
    • リザルトシーンの仕様を決める

先週のToDo

  • (1)迷路を高所から見られるような高台を作ってみる
    • 1.上昇する床をもっとちゃんと作る
    • 2.どれだけ効果があるのか確認する
  • (2)Animatorクラスについて調べる

進捗

(1)について

f:id:ZeitungM:20170507230803p:plain
こんな感じになりました。
大体Y=10くらいまで上昇すれば充分全体を見渡せそう?

あんまり上昇速度が速いと、上に乗ってるものが当たり判定をすりぬけてしまうのだろうか。

来週のToDo

  • (1)モデルを動かす方法を調べる
  • (2)Animatorクラスについて調べる

いくつも並行してToDoをこなすのは無理なので、これからは上にあるタスクから順にやろうと思います。

2017年4月の進捗まとめ

各週の進捗

03/27-04/09

zeitungm.hateblo.jp

  • ゲームの目的などについて、いくつか候補を挙げた
  • ゴールのある方向を示すコンパス的なものを実装した
  • 位置情報の取得を行うメソッドを調べて、適当に位置情報を取得してみたら、何故か上手くいかない。
    • Locationクラスの初期化が上手く行ってないようだが、どうすればいいのか?
  • onLocationChanged()で更新された位置情報を取得して、距離を計算する処理を実装した
  • 今では位置情報を使うにはandroid.locationの替わりにGoogle Play ServicesのLocation Servicesを使用することが推奨されているらしい情報をつかんだ
    • LocationをlocationManager.getLastKnownLocation(provider)で初期化する方法試してないけどもういいや…

04/10-04/16

zeitungm.hateblo.jp

  • Rendering Problemメッセージが出る原因を調べた
    • ThemeとLayout(RelativeLayout)との食い合わせが悪いっぽい?
    • ThemeをAppThemeに変更したらメッセージが出なくなった

04/17-04/23

zeitungm.hateblo.jp

  • 「結果や技術を競う」より「ユニティちゃんかわいい」なゲームで行くと方針を決めた
  • ユニティちゃんの顔を見られるワイプを作った
  • Google Play Servicesに関連する記事を探した
  • StyleとThemeに関連する記事を探した

04/24-04/30

zeitungm.hateblo.jp

  • 迷路を俯瞰で見られるギミックの試作をした
  • ユニティちゃんのポーズを変えるスクリプトIdleChanger.csを読んでいた

今月の進捗 総括

  • プロつく計画5
    • ゲームの方向性を決めた
    • ゴールの方向を示すコンパス的なものを作った
    • ユニティちゃんの顔を見られるワイプを作った
    • 迷路を俯瞰で見られるギミックの試作をした
    • ユニティちゃんのポーズを変えるIdleChanger.csの解読をした
  • プロつく計画6
    • locationで適当に位置情報を取得し、距離測定の処理を実装した
    • locationからの乗り換えを推奨されているGooglePlayServicesのインストールをした
    • Rendering Problemメッセージが出る原因を調べた
    • StyleとThemeに関連する記事を探した

反省

ユニティちゃん迷路の、ゲームの面白さに貢献する作業をあまりしてないように見える。
あまり机上で考えてばかりいないで、うまくいく確信が持てなくても、作っていかないと。

04/24~04/30の進捗

プロつく計画5-2:ユニティちゃん迷路を作る(10週目)

小目標

シーンの遷移を実装する

  • リザルトシーンの仕様を決める

先週のToDo

  • (1)迷路を高所から見られるような高台を作ってみる
  • (2)ユニティちゃんの動かし方について調べてみる

進捗

(1)について

f:id:ZeitungM:20170430230756p:plain

こんな感じで、上に乗ったら上昇する床を作ってみました。
2D Plane の上にユニティちゃんは乗れないという知見を得た

f:id:ZeitungM:20170430230823p:plain

実際に少し上の視点から見ているところ。
上昇中に謎の力によって、ユニティちゃんが押しのけられてしまう…
(頭上のコンパスの当たり判定説が有力)

(2)について

どうやら、IdleChanger.csの

anim.SetBool ("Back", true);

のところでポーズを変えているようだが、anim(Animatorクラス)が謎。

.ToString()でポーズ名を文字列で出力できるのかと思ったらそうじゃないみたいだし…。

来週の小目標

  • ユニティちゃんを自分の手で動かせるようにする
  • シーンの遷移を実装する
    • リザルトシーンの仕様を決める

来週のToDo

  • (1)迷路を高所から見られるような高台を作ってみる
    • 1.上昇する床をもっとちゃんと作る
    • 2.どれだけ効果があるのか確認する
  • (2)Animatorクラスについて調べる

プロつく計画6:ランニング用走行距離計測アプリを作る(11週目)

小目標

Google Location Services APIへ乗り換える

先週のToDo

  • (1)Google Location Services APIを導入する
  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

進捗

(1)について

ここからGoogle Play Servicesインストールしました。
Set Up Google Play Services  |  Google APIs for Android  |  Google Developers

多分これであってる、はず…

(2)について

(1)を優先していて出来ませんでした(´・ω・`)

来週の小目標

Google Location Services APIへ乗り換える

来週のToDo

  • (1)インストールしたGoogle Play Servicesで位置情報を取得する
  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

4/17~4/23の進捗

プロつく計画5-2:ユニティちゃん迷路を作る(9週目)

小目標

シーンの遷移を実装する

  • リザルトシーンの仕様を決める

先週のToDo

  • (1)ゲームの方向性を決めて、適当でもいいから実装する
  • (2)オクルージョンカリングを本プロジェクトに適応する

進捗

(1)について

時間を競うよりも、迷路を通じて「ユニティちゃんかわいい」なゲームで行くと決めたので、
とりあえずユニティちゃんの顔を見られるようにワイプを作ってみました。

f:id:ZeitungM:20170423232729p:plain

(2)について

低優先度なので手付かずです…

来週のToDo

  • 迷路を高所から見られるような高台を作ってみる
  • ユニティちゃんの動かし方について調べてみる

プロつく計画6:ランニング用走行距離計測アプリを作る(11週目)

小目標

Google Location Services APIへの切り替えを完了する

先週のToDo

  • (1)Google Location Services APIを導入する
  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

進捗

(1)について

参考になる記事を探していました。
見つけたのがこの記事。

java-lang-programming.com


なんか新たにインストールする必要があるのか…?

(2)について

このあたりが参考になるかなーと思って見ていました。

developer.android.com

来週の小目標

Google Location Services APIへ乗り換える

来週のToDo

  • (1)Google Location Services APIを導入する
  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

4/10~4/16の進捗

プロつく計画6:ランニング用走行距離計測アプリを作る(11週目)

小目標

距離の計算がどのくらいの精度で行えるかを確認する

先週のToDo

  • (1)Android Studioのレイアウトレンダリング時のRendering Problemメッセージの意味を調べる
  • (2)距離の計算がどのくらいの精度で行えるかを確認する

進捗

(1)について
Rendering Problem
Missing styles. Is correct theme chosen for this layout?
Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.

Failed to find '?attr/textEditSuggestionItemlayout'
in current theme.
(27 similar errors not shown)

ThemeをNoTitleBarに変更したらこんなメッセージが出たので、
「Theme(Light.TitleBar)とLayout(RelativeLayout)との食い合わせが悪いのだろうな」と
Themeを変更したり、原因をググったりしていました。

ThemeをAppThemeに変更したら出なくなったが…。タイトルバーは非表示にしたい…。

(2)について

何でも、android.location APIを使用している場合は、
Google Location Services APIへの切り替えが推奨されているらしい
(精度やバッテリ消費の面でも改善されているらしい)ので、
そっちをやることにします。

来週の小目標

Google Location Services APIへの切り替えを完了する

来週のToDo

  • (1)Google Location Services APIを導入する
  • (2)タイトルバーを非表示にする(かつRendering Problemを出さない)方法を調べる

3/27~4/9の進捗

プロつく計画5-2:ユニティちゃん迷路を作る(8週目)

小目標

シーンの遷移を実装する

  • リザルトシーンの仕様を決める

先週のToDo

  • (1)ゲームの目的、スコアなどについて検討する
  • (2)オクルージョンカリングを本プロジェクトに適応する
  • (3)矢印がゴールの方向を向く機能を作る

進捗

(1)について

いくつか考えました。
とりあえず、候補の中からゲームの方向性を決めて早く実装したい。

(2)について

していませんでした。

(3)について

f:id:ZeitungM:20170410005959p:plain
できました。

来週の小目標

シーンの遷移を実装する
→リザルトシーンの仕様を決める
→ゲームの方向性(コンセプト、スコア等)を決める

来週のToDo

  • (1)ゲームの方向性を決めて、適当でもいいから実装する
  • (2)オクルージョンカリングを本プロジェクトに適応する

プロつく計画6:ランニング用走行距離計測アプリを作る(10週目)

小目標

位置情報取得ボタンの機能を実装する

先週のToDo

  • (1)Android Studioのレイアウトレンダリング時のRendering Problemメッセージの意味を調べる
  • (2)位置情報を取得するメソッドについて調べる

進捗

(1)について

絶賛放置中です…

(2)について

どうやら、位置情報の取得は Location クラスの getLatitude() と getLongitude() で行っているもよう。
で、適当に Location クラスのインスタンスを作ってメソッドを呼び出せばいいのかなと思って
やってみてもなかなかうまくいかない。

Location クラスのコンストラクタには適当な文字列を引数に取るものと、
既存の Location クラスのインスタンスを引数に取るものがあるらしくて、
前者の方法を採って位置情報を取得してみたのだが、
それで getLatitude() と getLongitude() を呼び出してみたら
何故か返り値の経緯度がどちらも 0.0 になっていた。

Location location = new Location("hoge");
double latitude = location.getLatitude(); // latitude には 0.0 が代入された

onLocationChanged(Location) ( Location が変化した時に呼び出されるメソッド )内では
ちゃんと経緯度を取得できているのに何故?

とりあえず今は取得した経緯度から距離を計算できればいいので、
経緯度を表すクラス変数を用意して、
onLocationChanged() が呼び出される度にそこに格納し、
位置情報取得ボタンを押したときそこから取得するようにしました。

f:id:ZeitungM:20170410010119p:plain

こんな感じでできました。

来週の小目標

距離の計算がどのくらいの精度で行えるかを確認する

来週のToDo

  • (1)Android Studioのレイアウトレンダリング時のRendering Problemメッセージの意味を調べる
  • (2)距離の計算がどのくらいの精度で行えるかを確認する

メモ

  • LocationをlocationManager.getLastKnownLocation(provider)で

初期化しているパターンはいくつかあった
Android Location API with the fused location provider - Tutorial

  • 何でも、最近は位置情報取得には android.location の替わりに

Google Location Services を使用することが推奨されているらしい。
sakura-bird1.hatenablog.com

  • 1回休むだけで、文章量スゲー増えたような気がする。