際際滷

際際滷Share a Scribd company logo
PUN 2を聞おう
PUN Classicとの`いと繁議に湖じたメリット
2019定1埖23晩 Gotanda.Unity #10 LT
@Sokuhatiku
1
すこと
2
¢ B初
¢ PUNのh苧
¢ PUN 2はいいぞ
B初
3
0123456789
W
¢ ソクハと賦します(@Sokuhatiku)
¢ UnityでVRやってます
¢ Photonの並をくと冱いながら
スライドをきました
ごめんなさい
¢ 兜鞠です
g社の溌★
10 ○徭失B初火りrg
4
益芙
¢ 幄塀氏芙Synamon
¢ VRの〆ケ〇を毅うべく、
2016定8埖から試咫
¢ VR氏hシステム
〆NEUTRANS BIZ〇
ベ`タ井戻工嶄
5
PUN ClassicとPUN 2
6
Photon Unity Networking ClassicPUN Classic
¢ ドイツのExitGames芙が戻工する、リアルタイムネットワ`クをgFする
のUnity喘クライアントライブラリ
¢ ┐つてあったUNetからの卞佩を陥すため、貌たAPIになっている
https://assetstore.unity.com/packages/tools/network/photon-unity-networking-classic-free-1786
7
Photon Unity Networking 2PUN 2
¢ PUN Classicの瘁@
¢ 肇定の歪のKわりにリリ`スされた
¢ PUN Classicのイケてなかった何蛍が謹方個鋲されており、旗として札Q
來を払っている。 https://assetstore.unity.com/packages/tools/network/pun-2-free-119922
8
ちなみにPUNのつくり
¢ PUNの貧にPhoton Realtimeがある
¢ Photon RealtimeはUnity參翌のプラットフォ`ム
にも鬉靴討い
¢ PUNはPhoton Realtimeを
Unity貧でQいやすくしたもの
PUN Voice吉は護曖
https://www.photonengine.com/ja-JP/Realtime
9
PUN 2は徨
¢ PUN ClassicからAPIの筝
$ Y坿の壅旋喘が返g
¢ 仟しい麗に原き麗の佚m來の}
$ バグがあるかもしれないのでこわい
¢ なんか100MB階えのファイルが秘っててGitHubに鏑られる
$ ようこそGit LFSの弊順へぉぉぉぉぉ!!
10
PUN 2はいいぞ
11
PUN 2がいい尖喇
1. 嘛がちょっとXくていい
2. 仟しいAPIがいい
3. 弼?屁尖されていていい
4. 護と卞佩竃栖るのでいい ☆
12
1. 嘛がちょっとXくていい
¢ コ`ルバックの圭塀が笋錣辰燭里培Xい
$ ClassicではGameObject11にして供、SendMessageしていたので嶷い
$ 2ではListに鯉{したInterfaceを澣くので壼い
¢ でもそんなにl訓に澣かれないので森は院い
$ どちらかというとAPIが笋錣辰燭海箸龍{の圭がでかい瘁峰
返隈 SendMessage 岷俊柵竃し
峠譲昼 0.175 0.006
10嵐指柵び竃しの峠譲I尖rg
yはm輝なので歌深殻業
13
1. 嘛がちょっとXくていい
¢ RPCはClassicから哈きAきReflectionを聞っており嶷い
$ こっちの圭がだいたいl訓に柵ばれるはず
$ PhotonViewU喇で猟忖双でメソッドを柵び竃す碧貧寄嫌な互堀晒はyしそう
$ RPC柵び竃し何蛍のソ`スコ`ドは乾れるので、
ユ`スケ`スによっては徭蛍でBって恷m晒も竃栖なくはない
14
2. 仟しいAPIがいい
¢ コ`ルバックの侘塀が筝
$ 書まではGameObject.SendMessage()だったものが、InterfaceU喇の柵び竃しになった
$ 兆念の甜隼の匯崑で柵ばれたり、哈方`いでランタイムエラ`を預かれることがoくなった
$ PUN Classicでは´
15
¢ コ`ルバックの侘塀が筝
$ 書まではGameObject.SendMessage()だったものが、InterfaceU喇の柵び竃しになった
$ 兆念の甜隼の匯崑で柵ばれたり、哈方`いでランタイムエラ`を預かれることがoくなった
$ PUN 2では´
2. 仟しいAPIがいい
コ`ルバックの鞠hが駅
OnDestroy吉で鞠h盾茅もね。
Interfaceに協xされてないので柵ばれない
Interfaceに協xされているので柵ばれる
16
2. 仟しいAPIがいい
¢ PUN 2で協xされたコ`ルバックInterfaceのN
$ IConnectionCallbacks
* サ`バ`との俊A/俳僅rなど
$ ILobbyCallbacks
* ロビ`秘曜、何塁匯Eの厚仟など
$ IMatchmakingCallbacks
* ル`ムの恬撹、秘片など
$ IInRoomCallbacks
* 麿プレイヤ`の秘曜片、CustomPropertyの厚仟など
$ IOnEventCallback
* Photon.Realtimeを岷俊乾るr喘
$ IWebRpcCallback
* WebRPCのレスポンス喘
17
3. 弼?屁尖されていていい
18
3.1. フォルダが屁尖されていていい
¢ 畠てのPhotonのアセットがAssets/Photon參和にГ泙辰
$ PluginsフォルダもAさない。。
¢ コンポ`ネントeにフォルダ蛍けされた
$ PUN ClassicではVoiceが卆贋しているdllがPluginsに
秘ったりしていた
$ 音勣なコンポ`ネントはフォルダごと茅でOK
19
3.2. 兆念腎gが屁尖されていていい
¢ ┘侫ルダも磴擦藤どこまでがPhotonRealtimeか、
どこからがPhotonUnityNetworkingなのかハッキリした
¢ PhotonViewや、Photonが協xしたメソッドも
ちゃんとPhoton兆念腎g參和に哈っzんだ
ここがPUN Classicではあいまいだった
ToStringFull()とか、岑らずに聞っちゃった
繁もいるのでは
20
3.3. アセンブリが屁尖されていていい
¢ テストがけるぞ,Δおおおお。。。。
¢ 歌孚譴浙┐気譴覦火銚
¢ Photonの咾編^にも
コンポ`ネント阿坊屬韻蕕譴討い
さらに芦伉
21
4. 護と卞佩竃栖るのでいい ☆プロジェクトのトによります
¢ ロジックや聞い圭徭悶に筝はほぼない
$ 兆念腎gを原ける
$ アセンブリを歌孚する
$ クラス兆を筝する
$ コ`ルバックだけ寄きめの筝なので廣吭
* 蝶eamInput2.0よりだいぶ嗤秤だとおもう
¢ AppIDはそのまま哈き@げる
$ 笋錣辰燭里魯ライアント箸里
¢ ドキュメントが割gしている┫麒贈
$ 巷塀の卞佩ドキュメントもあるぞ
https://doc.photonengine.com/ja-jp/pun/v2/getting-started/migration-notes
22
恷瘁に???
¢ 益芙のプロダクトでは岷俊乾っていないので、佚m來のはし仭い´
¢ 屡贋プロダクトや嶷勣なプロダクトにo尖してm喘する駅勣はoい
¢ でも寓{がでかく、聞うとプロジェクトが謎になって
娼舞が芦協するので繁議にはオススメしたい
$ Photon箸睾岱、琶爾瓩襪覆PUN 2を容Xしているみたい
23
仟、琶垢Δ覆PUN 2聞おうぜ。
24
ご床ありがとうございました。
25

More Related Content

PUN 2を聞おう

Editor's Notes

  • #5: 麿の繁の兆念を竃す魁栽は俯辛を函ること
  • #8: 圷?の譜柴房襪雨鰻掘意の崔き算えである
  • #9: 雨鰻掘意喇栖の何蛍や永雨鰻の兜豚碧としてイケてなかった何蛍が個鋲されています。
  • #10: Enterprise Cloudなんかもある
  • #15: ちなみに、RPCの碧Mみはそのままで、堀業は象え崔きとなっております。 こちらは猟忖双で柵び竃す、PhotonViewが柵び竃すという碧貧碧圭ない何蛍ではあるかなと房います
  • #18: ちなみにコ`ルバックはこんな湖じで、ほんのり聞喘シ`ンごとに蛍けられててよいです ユ`スケ`スによってはojなメソッドが伏えることになりますが、畠何ひっくるめてもSendMessageよりXいので櫃砲垢覬慴はないかと
  • #20: 書まではインスト`ルrにAsset岷和にPhotonのアセットがバラまかれていたのが、 Photonフォルダ參和にすべてのアセットが秘るようになったので宥しがよくなり、茅もgになった
  • #21: フォルダ蛍けもそうなんですが、兆念腎寂議に永鞄看岳看稼檎艶温鉛岳庄馨艶と永鞄看岳看稼雨稼庄岳霞鰻艶岳敬看姻一庄稼乙の廠順がはっきり蛍けられました。
  • #22: Test Runnerが階Sになった g悶テストならOちゃんと蛍けろってだけど、PUNをきzんでテストしたいときだってあるさ。Offline Modeとかで。
  • #23: 返gかもしれないが、\が措ければこの殻業でいい \が措ければなので、致咫をつけさせていただきました。