private void Update() { NetworkDetails.text = null; NetworkDetails.text += "RTT : " + GsLiveRealtime.GetRoundTripTime() + "\r\n"; NetworkDetails.text += "Packet Lost : " + GsLiveRealtime.GetPacketLost() + "\r\n"; NetworkDetails.text += "SR : " + GsLiveRealtime.SerializationRate; }
public void OnGsLiveRead(GsReadStream readStream) { try { if (synchronizePosition) { _mNetworkPosition = (Vector3)readStream.ReadNext(); _mDirection = (Vector3)readStream.ReadNext(); if (_mFirstTake) { transform.position = _mNetworkPosition; _mDistance = 0f; } else { var lag = (float)GsLiveRealtime.GetRoundTripTime() / 100; _mNetworkPosition += _mDirection * lag; _mDistance = Vector3.Distance(transform.position, _mNetworkPosition); } } if (synchronizeRotation) { _mNetworkRotation = (Quaternion)readStream.ReadNext(); if (_mFirstTake) { _mAngle = 0f; transform.rotation = _mNetworkRotation; } else { _mAngle = Quaternion.Angle(transform.rotation, _mNetworkRotation); } } if (synchronizeScale) { transform.localScale = (Vector3)readStream.ReadNext(); } if (_mFirstTake) { _mFirstTake = false; } } catch (Exception e) { Debug.LogError("GSLiveTransformObserver OnGsLiveRead Error : " + e); } }
public void OnGsLiveRead(GsReadStream readStream) { try { _mNetworkPosition = (Vector3)readStream.ReadNext(); _mNetworkRotation = (Quaternion)readStream.ReadNext(); if (teleportEnabled) { if (Vector3.Distance(_rBody.position, _mNetworkPosition) > teleportIfDistanceGreaterThan) { _rBody.position = _mNetworkPosition; } } if (synchronizeVelocity || synchronizeAngularVelocity) { var lag = (float)GsLiveRealtime.GetRoundTripTime() / 100; if (synchronizeVelocity) { _rBody.velocity = (Vector3)readStream.ReadNext(); _mNetworkPosition += _rBody.velocity * lag; _mDistance = Vector3.Distance(_rBody.position, _mNetworkPosition); } if (synchronizeAngularVelocity) { _rBody.angularVelocity = (Vector3)readStream.ReadNext(); _mNetworkRotation = Quaternion.Euler(_rBody.angularVelocity * lag) * _mNetworkRotation; _mAngle = Quaternion.Angle(_rBody.rotation, _mNetworkRotation); } } } catch (Exception e) { Debug.LogError("RealtimeRigidbodyObserver OnGsLiveRead Error : " + e); } }