UnityではじめるC# 基礎編 Kindle版 大槻有一郎/いたのくまんぼう

※2020/12に改訂版が出たらしい。変更内容はUnityのバージョンやらスクリーンショットやらで、中身自体は前のものと同じらしい。

50%セールの時に¥1,188でこうたった(`・ω・´)


結論から言うと、ぼちぼち満足した(・∀・)

C#をタイトルに入れているけれども、C#の勉強になったかというと、
そうでもないと思ったw

一応、データ型とか条件分岐等の説明はあるものの、C#特有な話はほとんどないので、Javaとかかじって歯ぐきから血が出たりしてるような人ならChapter3までは流し読みで大丈夫だと思う。まぁ本書で作るゲームのレベルであれば、それほどC#をバリバリ使いこなす必要はないし、一から十まで説明していくとページは足らなくなり、挫折者多数になること必至だから、これくらいの説明で良いと言えば良い。でもやっぱり人によってはタイトル負け感を覚えざるを得ないかもしれないw


本書は前半がC#関連、後半がUnityや必要なライブラリのインストール方法からUnityエディタの使い方、ゲームの作り方、実機へのインストール及び公開方法の説明となっているが、前述の通り、後半が大事(・∀・)ワカリヤスイ

そういうわけなので、或る程度、プログラミング関連の知識があって、Unityを触ってみようと思ったけど、なんだかUnityエディタとかよくわかんない(´・ω・`)という人には良い本だと思った。

あとamazonのレビューで他の人の感想を眺めたが、プログラミング初心者には好評な感じであった。


サンプルデータと正誤情報は
『UnityではじめるC# 基礎編』サンプルデータダウンロード+正誤情報

インストール部分はVisual Studioの方でインストールされていたので余り詳しくチェックはしてない。(実はAndroid向けモジュールがインストールされておらず、P112のコラムを見てダウンロードした(ノ∀`))

基本的に致命的な問題はなかったような気がする。ただバージョンアップでRigidbody2Dの[isKinematic]の設定がなくなって[BodyType]の方で設定するようになったらしく、この部分に関しては下記エントリで説明されている通りにした(・∀・)
[教材]「UnityではじめるC# 基礎編」をやってみた [本・電子書籍]
※2018/09/19追記
Rigidbodyの設定項目では依然として[isKinematic]が存在していた。

以下はどうでもいいことを、可愛い息子タンをアバズレに奪われたヽ(`Д´)ノと発狂している姑目線で挙げる。

  • P45の本文と画像が"Test.name"になってるけど、”Person.name”じゃないとおかしい。
  • P48の”ジス”はどうだろう。”ディス”も完全な発音ではないんだろうけども。
  • P139で机のGameObject名は”ImageDesk”にするのに、pngファイル名は”table.png”でもにょる(´・ω・`)

といった感じに書くと、何もかもが上手く行ったラヴィアンローズ的Unity体験であったかのように読めるが、実は色々とはまった…(ヽ'ω`)ダイタイハジブンノセイ

  • 設定したGameビューのアスペクト比設定が何故かフリーアスペクトに変わっていて、他のGameObjectを覆ってしまい、クリック出来なくなる事件(´・ω・`)
  • ビルド途中でエラーが出て、ビルドが終了しない(´・ω・`)
  • ビルドは終了するようになったが、Androidの実機にインストール出来ない(´・ω・`)

1つ目の問題は物理パズルゲームで作業するまで原因が判らず、PanelWallをStretchから固定サイズ(centerxmiddle)に変えて800x1280を設定するという力技で凌ぐ(`・ω・´)

2つ目と3つ目の問題は結果的には解決したが、今ひとつすっきりせず、なんかモヤモヤが残った…

  1. SH-M01(android4.4)という端末をつないで。(この時、エクスプローラからSH-M01は認識されており、中身も見えた。)
  2. "CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct." みたいなエラーとかが出る。
  3. どうも最新のandroid sdk toolだと上手くUnityでビルドが出来ないらしいので、ダウンロードしてきて上書きしてビルドする。(Unity で Android 向けにビルドが出来ない)
  4. やっぱり上手くいかないのでadb.exeを落としてみる。(UnityのAndroidビルド時にエラー "CommandInvokationFailure: Unable to forward network traffic to device. Please make sure the Android SDK is installed and is properly configured in the Editor. " が出たときの解決策)

これでビルドまでは上手く行った(・∀・)


が、なんだか書き込みが出来ない。USBデバッグも有効だし、mtp接続だし、提供元不明アプリも許可している。仕方がないのでshv40(android7.1)という端末でも試すがこれまた一緒。なんじゃらほいと思い、ケーブルを変えても駄目。

でまぁ、よくよく見たらshv40の方は接続が"充電のみ"になっていた(ノ∀`)
mtp接続にしたら、インストールまで上手く行った。

SH-M01の方は[提供元不明アプリ]の下にあった[アプリを確認する]のチェックを外したら上手く行った。
でも今ひとつ、これが本当の原因だったのか切り分けが出来なくてモヤモヤしている。
android4.4の実機がもう一台あれば試せるけど、面倒くさいからいいか(ノ∀`)

※2018/1/22追記
SH-M01の方は最初に試したケーブルが駄目だった模様。MTP接続では端末が見えていて、エクスプローラーで端末のファイルをコピー(Read)するのは可能だが、端末へのペースト(write)が駄目という謎の状態だった。他のケーブルにしたら、エラーが出ずに普通にインストール出来た。


ということで、Android SDK toolsをダウングレード?、(adb.exeの再起動)、接続設定の確認、接続ケーブルの確認で大体は解決すんのかな?


取り敢えず、「Unityの寺子屋」も一緒に買ったので、引き続き読むかヽ( ・∀・)ノ