前提・実現したいこと
3Dでx軸とz軸だけを動かすアクションゲームを作っています。
これをオンラインマルチプレイに対応させようとしています。
こちらのシリーズを参考に進めています。
OnlinePlayerController.csにはStandardAssetsのJoystickを使って、
Rigidbodyのvelocityを使用して移動させるコードがあります。
コードは下に書いています。
現在は【その2】
の途中までしかやっていないので、どのオブジェクトが自分の物か等は実装していません。
発生している問題・エラーメッセージ
エラーは起きていませんが、他シーンから読み込むとラグが常に発生します。
数秒に一回だけラグが収まりますが、またすぐにラグります。
デバッグなどで最初からそのシーンだとラグは一切発生しません。
該当のソースコード
C#
1using UnityEngine; 2using Photon.Pun; 3using Photon.Realtime; 4using UnityStandardAssets.CrossPlatformInput; 5 6public class OnlinePlayerController : MonoBehaviourPunCallbacks 7{ 8 public float speed; 9 10 [SerializeField] 11 GameObject Rotation; //移動とは関係ないので省略 12 13 void Update() 14 { 15 x = CrossPlatformInputManager.GetAxisRaw("Horizontal"); 16 z = CrossPlatformInputManager.GetAxisRaw("Vertical"); 17 18 rigd.velocity = new Vector3(x * speed, 0, z * speed); 19 } 20}
試したこと
こちらの記事の通り、ラグ修正を試みたのですが特に変化はありませんでした。
PlayerオブジェクトにはRigidbody.velocityを使うためだけにRigidbodyをつけています。
重力は無効、床との摩擦は高めで滑ることはありません。
補足情報(FW/ツールのバージョンなど)
Unity2019.2.6f1
PUN2 Free
あなたの回答
tips
プレビュー