オンライン3Dアクションゲームの作り方、という本を読んだ

読みました。




Unityゲーム開発 オンライン3Dアクションゲームの作り方

Unityゲーム開発 オンライン3Dアクションゲームの作り方

とりあえず、Unityの勉強の取っ掛かりとして読みました。ネットワークに対応するところの前まで読みました。ネットワークのところを読んでないのは古いやり方だったので読んでないです。詳しくは後述。

ソースコードがDLできてポンポン貼り付けていけば作れます。
ただ、ぽんぽん貼り付ければ理解できなくてもだいたい動いてしまうのであとでちゃんと自分でコード自体を書いて本当に理解できたかを確認したほうが良いと思います。

あと、この本が2014年の本ということでちょいちょい古いところとか、動かなくなっているところがあります。
多分動かないのはUnityのバージョンが違うからだと思います。
この本はUnity4.3ですが、私はUnity2018.2で行いました。

動かなかったのは例えば

	void OnAttack()
	{
		collider.enabled = true;
	}

とか。
これは

    Collider collider;
    void Start()
    {
        collider = GetComponent<Collider>();

    }

こんな感じに書き足したらうまく行った。
colliderの宣言をStart()の外でやってるのはなんとなく。Start()の中でやったほうがいいよ!とか外がいいよ!とか明確な理由を知っている方がいたら教えてください。
あとこれ書くとComponent.collierを非表示にするよ、と警告される。Component.colliderは古いやつだから非表示にされても問題ないと思ってるんですけど、実際はどうなんですかね?これも知っている方がいたら教えてもらいたいです。

動かないのは上記のやつのrigidbodyパターンぐらい。


あと、調べた感じ

  • sendmessage
  • onGUI
  • loadlevel
  • NetworkView

が古くなって非推奨らしいです。
それぞれ

  • ExecuteEvents.Execute
  • uGUI
  • LoadScene
  • UNet

に置き換わっています。
ただ調べた感じ、UNetも2018.4 (LTS)を最後に廃止になるらしい……一体私はどうすればいいんだ……。

ともかく、こんな感じです。

このあとは、自分で同じようなものをちゃんと自分で書いてみようと思います。
一応ネットワークに強くなりたいのでオンラインゲームのしくみ、という本を読み始めてます。

この本はUNetを使わないらしいのでこの本とともにネットワークを乗り越えるかもしれない。

他にもおすすめの本とかあれば教えてください。
ゴールはVRゲームを作るところです。なんならそのあとVRの会社に転職するまでです。よろしくお願いします。