NetworkViewを使って通信対戦 その4

少し前回の補足で、ソースコードの使い方について。
ソースコードはゲーム管理マネージャみたいなものなので、
適当なGameObjectに貼りつけておくと吉。

具体的には、GameManagerって空のGameObjectを作って、そこに貼りつけておく。

あと、インスタンス生成位置がGameManager(仮)の位置になってる。
そのまま生成すると二人が同じ位置に生成されちゃうので、
GameManager以下にNodeって名前のGameObjectを用意して、その位置に出力しても良いかもと思った。
ソースはこんな感じ?
スクリーンショット 2012-02-28 1.35.53

private void CreatePlayer()
{
 connected = true;
 int positionNo = Random.Range(0, transform.childCount);
 Transform childTransform = transform.GetChild(positionNo).transform;
 Network.Instantiate(prefub, childTransform.position, childTransform.rotation, 1);
}



話を戻して、NetworkViewのパラメータ同期について。
NetworkViewその1くらいでScript、アニメーション、Transform、RigidBodyのいずれか一つを同期するって
書いたけど、そのまま使ってもTransformしか同期しない。

てことで、まずは監視対象にTransform以外を設定する方法。
今回はRigidbodyを同期対象に設定。

方法は簡単、inspectorのRigidbodyってタイトルをNetworkViewのObservedにD&Dする。
これでOK。
成功すると、Observedに設定しているオブジェクトのカッコ内が変化する。

スクリーンショット 2012-02-28 1.44.10

スクリーンショット 2012-02-28 1.49.53


意外と長くなってしまった。
次にスクリプトの設定について…は…まあ、明日にでも。

そういえばnUIGの無料版があるらしい。
コレ終わったらQuad UIでもやろうかと思ってたけど、先にこっちするかも。
http://forum.unity3d.com/threads/124032-NGUI-Free-Edition?p=834225


調査ネタを募集中
フォローボタン