前提・実現したいこと
自分の場合、ゾンビ(プレイヤー)から逃げるシステムのオンラインゲームを作っています。
そこで、障害物等をうまく使い生存者は逃げるのですが、
その障害物を押して動かせるようにしたいです。
押す処理等はできるのですが、オブジェクトはクライアントの数関係無く1つだけのタイプなので
同期の方法に困っています。
今はマスタークライアントに処理をさせる方法を取っているのですが、
例えば、
その他クライアントがオブジェクトを押す(この時点で座標は変わらない) ->
マスタークライアントにその他のクライアントの座標が渡される ->
マスタークライアントでオブジェクトが押される ->
その座標がその他のクライアントに渡され、初めて押すオブジェクトの座標が変わります。
つまり、マスタークライアントでオブジェクトを押すとめちゃくちゃ軽いのですが、
その他のクライアントでオブジェクトを押すとカクカク(ラグの類かもしれませんが補完等で解決できる問題では無さそうです...)
しますし、何よりなぜかめちゃくちゃ物理的に重いです。
そのオブジェクトの重さ、またクライアントの操作しているキャラの速度や力の問題ではありません...
どうすれば良いでしょうか、ご教授ください。
試したこと
・オブジェクトは同期させない方法 各端末でそれぞれ見えてるものの通りに押してやる
結果->少しのズレでクライアント間でめちゃくちゃズレます。バタフライエフェクトというやつですね...
補足情報(FW/ツールのバージョンなど)
Unity 2018.2.21f
Photon
あなたの回答
tips
プレビュー