Unityでネットワークゲームを創りたい(UNET)-15

はじめに

ここの更新が遅れていますが何もしていないわけではありません。逆にかなりの努力をしているというのが正しいところです。今回はプレイヤー戦艦の主砲発射音を付けようとしたのですが、元アプリ(TANKNETWORKINGアセット)ではどこでタンク大砲発射音を登録してあってどう再生しているかを調べる必要がありました。これにかなりの時間がかかったために遅れてしまったのです。

結果としてプロジェクト全体についての理解がかなり進んだのでここで整理しておきたいと思いました。

シングルプレイヤーモードにおけるシーン構成要素(ヒエラルキー表示)

下記の図に整理しました。これでかなり見通しが良くなりました。これはシングルプレイヤーモード(ネットワーク対戦モードではないという意味)のバトルシーンの情報ですが、このシーンでの本質理解が大変重要です。自分がこれまで触ってきたコードや創ってきたコードの全体プロジェクトの中での位置づけも見えてきました。

プレイヤー戦艦の主砲照準と主砲砲弾追跡カメラ

今回の開発はあまりに元アプリ(TANKSNETWORKINGアセット)のプロジェクト解析に時間が掛かっていて、自分的にはちいとも面白くなかったのですが、ようやくちょっと創りこみを勧められる部分が出てきたら嬉々として創ってしまっています。

これは前からやっていた①主砲を発射した時に主砲砲弾を追跡するカメラ処理と、今回新たな試みとしての②上空からの視界による主砲射撃照準の処理です。

①主砲砲弾追跡カメラ

まだ砲弾が小さく敵艦も遠かったりして迫力不足ですが、まあ安定して発射した主砲砲弾を追跡するカメラの実現ができました。まあこれを調整していけば良いでしょうかね。

戦艦大和の主砲一斉射撃ですので、3砲身×3砲塔で合計9発の主砲砲弾が若干の誤差軌道をとりながら敵艦に向かっていくところを追跡カメラで確認することができます。

②上空視界による主砲射撃照準処理

ちょっと静止画ではわかりにくいですが、主砲照準キーを操作すると視界が敵戦艦の上空カメラに切り替わって直接視認しながら主砲照準を行えるようになりました。黄色い球が射撃ターゲット地点を示すマーカーです。

まあここまでは動くようになったのですが、ちょっと問題発生です。この黄色い球体のマーカーを平面の円形ターゲットマーカーに変えようとするとなぜかUnityがハングアップするのです。なのでちょっとこれを改善しないと先へは進めませんので今日はここで終わりにします。

継続して実施すべきこと

まあ流れの中なので、主砲照準系の処理と主砲砲弾追跡カメラの処理の完成度を上げたいと思います。

現在できていることの整理(進展無し)

1.3種類までの軍艦を選択して登場できる仕組み

2.シングルモードで戦艦を自在に操艦操作する

3.ネットワーク対戦モードで戦艦を自在に操作する

4.主砲射撃制御:戦艦主砲による同時斉射処理およびパーティクル創りこみ

5.スマホ上でのタッチ処理による操作

6.シングルモードでのプレイヤー戦艦の主砲照準と射撃処理

現在できていないことの整理

1.インターネット接続を想定した遅延時間増の場合の動作調整

2.今回創りこんだ戦艦周りの各エフェクトのネットワーク対戦での確認

3.ネットワーク対戦モードでの敵戦艦の主砲射撃処理

次に実現を検討すべきことを考えてみる

シングルプレイヤーモードでの主砲射撃照準&射撃処理の完成度向上。

最後に

シングルプレイヤーモードでの戦闘シーンでのオブジェクト構成が見えてきたことは良いサインです。結局はネットワーク対戦モードを含めて全体を理解しなければアプリ完成にはたどり着けないでしょうね。ただ、完全自作アプリでUNET関係の問題にぶつかると完全に停止してしまうのに比べれば、やはり正解なアプローチと言えるような気もしています。

進展があればここでまた報告させて頂きます。

以上

参考:海戦関連のアプリを紹介しておきます。

戦艦決闘空間:何といっても第一人気です。

   

潜水艦決闘空間:最新アップデートでかなり好評価されています

 

空母決闘空間1942:かなり良くできていると評価を頂いています