Space Shooter tutorialの続きをやった(ヽ'ω`)
取り敢えず、2時間オーバーであることが判明済みの「4. Extending Space Shooter」の「Extending Space Shooter: Enemies, More Hazards, Scrolling BG...」のチュートリアル動画を観始める。
このチュートリアル動画にトランスクリプトがついていないことは承知していたが、それに加えてこの動画、
youtubeの字幕も出ねぇ…(ヽ'ω`)
つい最近になって(というかUnity絡みを触り始めて)、ようやく英語チュートリアル動画を観始め、「すげぇ、youtubeの字幕+自動翻訳!これがあれば勝つる(`・ω・´)!!」と感動し、英語チュートリアル動画の世界へと足を踏み入れた俺氏であったが、どうもこれは動画配信者の設定で表示の有無が決まるらしい…_| ̄|○
というわけで2時間の英語チュートリアル動画を全部観た……再生速度を0.75にしても、ほとんど聞き取れなかったので眺めたと言った方が正しいのかもしれない…(ヽ'ω`)
内容としては、
- アステロイドを三種類にする。
- 背景にパーティクルを追加して、背景画像自体もスクロールするようにする。
- エネミーオブジェクトを追加して、弾を出させたり、動きに変化をつけたり。
と言った感じ。
これは、というか前の章とかもそうだったようだけども、ライブでチュートリアル動画を配信して、チャットで質問を受ける形でやっていたようで、その質問の答えかなんかで、3wayショットの実装方法やボス戦前の移動演出(ワープみたいな感じな表示とか)等も説明していたような。
ReverseDirecton()だかは何を説明していたのかよく解らなかった。 敵が移動途中で反転するようになるのかなと思ったが、単純に上方向に流れるだけだったかな……違う、Quaternionを上手く代入出来なかったから諦めたんだった(ノ∀`)
今回も違うスクリプトだったかプレハブ(Done_~)等をアタッチしてしまったりして、ちょっとだけハマった(ノ∀`)
ちなみにぐぐってみたら、ここまでの概要を書き起こしたエントリがあった。
[Unity公式チュートリアル] 「Space Shooter」の概要紹介
その続きの方もやった
「Mobile Development: Converting Space Shooter to Mobile」の方も観た。
これはタイトルから判る通り、モバイル対応の章。これも一時間半くらいあった…(ヽ'ω`) iPhone(iOS?)向けの説明ではあったが、大した違いはない。というかこの辺は飛ばした(・∀・) Android端末で実行したことがある人なら特に問題ない。
こちらもほとんどの内容は聞き取れなかったが、最終型のコードとその途中の作業を眺めて、なんとなく解った……ような気がしないでもない(´・ω・`)
内容としては、
- 加速度センサーでの移動。(PlayerContoller)
- 配置したUIのimageを使った移動。(SimpleTouchPad)
- 配置したUIのimageを使った弾の発射。(SimpleTouchAreaButton)
- GUIテキストからTextへの変更。
- Restartボタンの追加とRキー等の挙動の無効化。
と言った感じ。
最後の方でCanvasの設定(Canvas Scaler)も変更していたけど、これは固定画面系なら、普通にやることだな。
細い数値は間違ってるかもしれないが、UIイメージはこんな感じだった。
MovementZone
FireZone
ちなみにDone_PlayerControllerに書かれているコードは、WebGL用の操作コード、加速度センサーによる操作コードがコメントアウトされた状態で存在し、タッチパッドによる操作コードがカレントになっている。
ということで、加速度センサーによる操作コードを確かめる時は、この部分をカレントにし、タッチパッドによる操作コードをコメントアウトしなければならない。
またSimpleTouchPadのGetDirection()メソッドは先にインスペクターでsmoothingの値を設定するか、"return direction;"とでもしておかないと動かないw 当たり前だが、ちょっとだけはまった(ノ∀`)
SceneManager.GetActiveScene ().name
"Application.LoadLevel (Application.LoadedLevel);"のウォーニングを消そうとして、"SceneManager.LoadScene ("Main");"みたいに直接Scene名を指定していたが、正しく直すのであれば、
SceneManager.LoadScene (SceneManager.GetActiveScene ().name );
なのね(・∀・)
参考:
Unityの勉強:Space Shooter 15/16記事をクリップする
Unity Remote
Unity Remoteって実機の方に入れて、Unityエディタの設定を変えるだけでいいのね(・∀・)カンタン
まあでもPCの性能が悪いせいか、あんまり意味がないなと思ったり思わなかったり(´・ω・`)
単純に加速度センサー等が動いているかどうかを確かめるために使う分にはいいけれども。
参考:
【Unity】「Unity Remote 5」の使い方
今回思ったことは、トランスクリプトの無い動画や自動字幕機能をオフにしているチュートリアル動画は利用価値が低い。
もっと言ってしまえば、目次的なものや章分割を備えていない動画というものは資料としては価値(存在意義)が低い。
動画であることに意味がある内容であるのであれば、それはまだいいけれども、プログラミングのチュートリアル動画は必ずしもそうではないと思う。(ゲームプログラミングだと実行時の画面表示等に有用ではあるが、それは必ずしも連続した長い動画の一部である必要はなく、従来の結果画像同様に、文章の後に分割された動画を観ることが出来ればいいだけである。)
勿論、受動系学習タイプと能動系学習タイプの人とではその評価が異なってくるであろうが、後者である俺氏には内包する情報が分類されていない動画で学習するのはかなりきつい(ヽ'ω`)
もう少し、こう、知識の伝達を考慮した動画フォーマットはないのだろうか(´・ω・`) いずれにしても作り手が努力しないと駄目か。
まあ何はともあれ、終わった…次行こう、次……(ヽ'ω`)