ネットワークゲームを作る際は、ネットワークによる情報伝達の遅延やパケットロスを必ず考慮する必要があります。それをサポートする機能であるNetwork Simulatorの使い方を解説します。 ※インターネット接続の場合です。LAN接続前提の場合はそこまで神経質…
UNETでネットワークゲームを作って、別のマシン同士で通信プレイする際に、面倒なのが、IPアドレスの入力です。 口頭で「いちきゅーにーのー、いちろくはちのー、」とかやるのは、あまりにもスマートじゃないです。 このへんをスマートに解決する機能「Netwo…
「ネットワークゲーム」とひと口に言っても、いろんな接続方法があります。まあ、遊ぶ側の視点でネットワークゲームと言えば、インターネット経由での接続が当たり前ですが、様々な理由により、それはそんな気軽に開発できるものではありません。だからUNET…
UNETを使って、ネットワーク対応のFPSゲームを作ります。
UNETのHLAPIの部分はオープンソースとなっており、自由に閲覧したり、改造したりできます。 なお、使っている環境は次の通りです。 Windows 10 Unity 2017.3 Visual Studio 2017
UNETでは、通信の品質を選ぶことができます(信頼度と速さに影響します)。
3Dの人型キャラクターが登場するネットワークゲームでは、キャラクターの位置が同期するのは当然として、アニメーションも同期している必要があります。 アニメーションの同期方法は色々と考えられますが、この記事では、UNETが標準で用意しているNetworkAni…
UNETにはNetworkTransformという位置同期の仕組みが標準で搭載されています(使い方はこちらで解説しています)。 これを使うと、とても手軽に位置の同期が行えますが、残念ながら色々と問題があるし、かゆいところに手が届かない機能です。 そこで今回は、…
UNETを使ってネットワーク対戦のじゃんけんを作ってみたいと思います。 完成イメージ 今回は、UNETのSyncVarとhookを駆使して作ります。Commandを使うのは1箇所のみで、それ以外の機能(例えばClientRPCやMessage等)は使いません。
今まで学んだことを組み合わせて、ネットワーク対戦のレースゲームを作ってみたいと思います!! ・・・といっても、本格的な車を走らせたりするのは大変なので、プレイヤーオブジェクトは玉です。玉転がしレースです。 なるべく簡単に作りたかったので、見た目…
通常、NetworkManagerに登録可能なプレイヤーのプレハブは、1つだけです。つまり、全員同じキャラクターしか使えません。 今回は、NetworkManagerを継承した独自クラスを作り、プレイヤー生成処理をカスタマイズすることによって、プレイヤーによって別々の…
UNETのNetworkManagerHUD(あのクソダサいデフォルトのUI)を見限って、自作のUIで接続などを行えるようにします。 ※なお今回作るのはLAN接続前提のUIです。インターネット接続のゲームを作りたい場合は、この記事に加えて、こちらの記事も参考にしてみてく…
UNETのMessageという機能を使って、サーバー↔クライアント間で情報をやり取りする方法を学んでいきます。 公式マニュアルはこちら Messageを全く使わなくても、ネットワークゲームを作ることは可能です。しかし、UNETの内部ではMessageを多用しており、Messa…
今回はNPCを作りながら、Spawnという機能について学びます。 ※ NPCとはNon Player Characterの略で、プレイヤーが操作するキャラクター以外のキャラクター全般のことです。村人とかです。広義では敵キャラ等もNPCです。
UNETのSyncVarという機能を使って、各クライアント間で変数を同期します。
UNETのデフォルトでは、プレイヤーキャラクターオブジェクトは原点(0, 0, 0)に生成されます。このままでは、ゲーム開始時は全員が重なった状態となってしまいます。これではおかしいですよね。今回は、NetworkStartPositionを使って、スポーン地点を指定して…
今回は、UNETのCommandとClientRPCを使って、簡易的なチャットシステムを作ります。
前々回の記事で作ったプロジェクトを改修し、キャラクターの移動と同期を作ります。その過程でCommandとNetworkTransformを詳しく学んでいきます。
UNETに用意された数々の情報の送信方法について、概要を説明します。
いよいよUNETを使い始めます。NetworkManagerとNetworkManagerHUDを使って、サクっとゲーム同士を接続します。
今回はログをゲーム画面上に表示する機能を作ります。
UNETを使えば、TCP/IPのことをあまり意識しなくてもプログラムが書けて、たしかに楽です。しかし、登場するキーワード(機能名やクラス名)のあまりの多さに、入門者は混乱必至です。重要なキーワードや基本知識をいくつか説明します。一度で全ては理解でき…
UNETの機能の説明などをする前に、周辺知識などを整理しておきましょう。
2018年9月19日 追記 Unityの標準ネットワーク機能であったUNETですが、廃止され、新しいより良い仕組みに置き換わるようです。よって、今からUNETを勉強するのはオススメできません。Unity2019では動かないようですし… しかしながら、新しいネットワーク機能…