どうも凡人なsiroponnです。 前の投稿にphotonについて話すと書いた。 僕が言っているphotonとはExitGamesが開発しているPhotonCloudのことである。 https://www-jp.exitgames.com/ja/Realtime そもそもphotonCloudとはなんぞや?って知らない人は思うでしょう。 詳細は上のリンクを見てもらうとして。 簡単に言うと、オンラインゲームを、自分でサーバを立てなくて、「お手軽」につくれるサービスです。 その中でも僕はunityユーザーなのでPhotonUnityNetworking(PUN)について書いていくことになります。 untiy http://japan.unity3d.com/ もしかしたら、unityを使わずのAndroid開発やiOS開発、HTML5での開発やcocos2d-xでの開発もするかもしれない。でも
にっこにっこにー、siroponnです。ラブライブの曲いいですよね。元気が出ます。 さて、早くも五回目です。そろそろ失速してきそうです。 基本的にgoogle先生にきいて、検索結果1ページで他の人が書いていない情報しか書かない主義ですから。だって1ページ目に出てくるのなんて有名で検索すればすぐ出てくるでしょ?それをわざわざ書くのはめんどいちーん。 で、ownerIDです。 PhotonViewクラスのメンバーです。 こいつはなんぞやというと、読んで字のごとくownerのIDです。 このPhotonViewがついているObjectを、どのプレイヤーが管理しているかちゅーことです。 基本的に、自分が生成した(PhotonNetwork.Instantiateなどで) Objectには自分のIDがつきます。 自分のIDとはPhotonPlayerクラスの"ID"メンバーで得られる値です。 で、こ
Photon Cloudのイベント一覧。 何故かWeb上から確認できるものが無かったので、作成した。 この記述をPhoton.MonoBehaviourを継承したクラスに書くだけで、特定のイベントに勝手に呼び出してくれる。超便利! 特にエラーチェック系や入室・退室時のイベントはこういった記述で書けば、かなりスッキリする。(ただし、ゲームの整合性を取るためフラグだけ取ってアップデートで処理するのが良いかもしれない) もしかしたら間違ってる部分もあるかもしれない。正しい内容を知りたければ、Photonのパッケージに含まれているPhotonNetwork-Documentation.pdfを参照のこと。
前回の記事の変更 前回の記事で、書いた[Photon Transform View]の設定を一部修正しました。 そちらを修正してから、こちらの記事分を実装してください。 前回の記事では、オブジョクトのTransformの同期の方法を書きました。 今回は、アニメーションの同期の方法を書いていきます。 Photon Animator Viewの追加 DemoUnityChan2Dに[Photon Animator View]を追加します。 observed componentsの追加 PhotonViewにある[observed components]の項目を追加してください。 追加すると、項目が増えると思います。 下の項目に[Photon Animator View]を追加してください。 Photon Animator Viewの設定 初期がこの状態だと思います。 [Synchronize
概要 GameJamの事前勉強会のために作った資料です。 GameJam登録受付 http://kokucheese.com/event/index/95326/ ここでは、ロビーからルームの自動入室、キャラクター位置の同期、チャットの実装までをチュートリアルアセットを利用して学習します。 前提 Photon Cloudのアカウントを作成済みであること Unityがインストール済みであること 1.空のプロジェクト作成 Unityで空のプロジェクトを作成します。 2.アセットのインポート Unity Asset StoreからPhotonのサンプルアセットをインポートします。 Photon Unity Networking Free http://u3d.as/2ey 3.Photon Cloudの接続設定 PUN Wizardウィンドウが表示されるので、上から2番目のボタン”Setup”を
public class TestRPC : Photon.MonoBehaviour { [PunRPC] public void RPCFunc(string msg, byte[] data, PhotonMessageInfo info) { Debug.Log("Message : " + msg); string dataStr = ""; foreach(byte b in data) dataStr += b + " "; Debug.Log("Data : " + dataStr); } } ※PUN ver1.56からは [RPC] が使えなくなっています。代わりに[PunRPC]を使います。 http://forum.unity3d.com/threads/photon-unity-networking.101734/page-17 v1.56 (16. June 2
Unity上でPhotonを使って,ネットゲームでのオブジェクトの座標の同期に挑戦してみました。 Photon Cloud公式のチュートリアルを見たところ(http://doc.exitgames.com/photon-cloud-jp/TutorialMarcoPolo/#cat-tutorialsなど)ネットゲームの大切な要素がたくさん詰まって(いそうだということが分かり)ました。(あまりしっかり理解できませんでした。) 大事な要素を少しずつに分けて確認したいと思います。 今回は必要最低限の構成で,プレイヤー間のオブジェクトの座標の同期を行うプロジェクトを作ってみました。 やれることとしては, 名称固定な部屋を作れる(詳しくは,こちらを) (存在している場合),名称固定な部屋に入れる 部屋から抜ける スペースキー(Androidの場合は画面タップで)で,Playerオブジェクト(Cup
第一回 第二回 最近諸々あってあまりUnityに触れません。 開発の遅れが少し心配です。 さて、第三回は、前回作成したキューブを各プレイヤーが動かせるようにしましょう。 ですがその前に、PhotonCloudによる同期について説明する必要があります。 そもそも同期とは、複数のゲーム画面で同じ処理を行う、または変数の値を等しくする、という意味です。 PhotonCloudでこれを行う場合、主に2つの方法があります。 ①OnPhotonSerialize 継続的に変数を同期します。 設定により、厳密に同期するか、ざっくり同期するか選択可能です。 どちらの場合であっても、モバイル環境ではそれなりに負荷がかかることに注意です。 キャラクターの位置情報の同期などに使用することが多いです。 ②RPC リモートプレジャーコールと言うらしいです。 「リモートプレ…あぁいや、RPCか」なんてカッコつけて使い
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く