public void SetTargetTransform(TransformSyncData tr) { sPos = transform.localPosition; sRot = transform.localRotation; this.tr = tr; CurLerpTime = 0f; }
private void Awake() { photonView = GetComponent <PhotonView>(); BodySync = new TransformSyncData(BodyTransform); HMDSync = new TransformSyncData(HMDTransform); LeftHandSync = new TransformSyncData(LeftHandTransform); RightHandSync = new TransformSyncData(RightHandTransform); }
protected virtual void SyncTransform(Entity e, Vector3 pos, Vector3 rot) { EntityManager entityManager = match.world.EntityManager; TransformSyncData sync = entityManager.GetComponentData <TransformSyncData> (e); sync.posX = pos.x; sync.posY = pos.y; sync.posZ = pos.z; sync.oposX = pos.x; sync.oposY = pos.y; sync.oposZ = pos.z; sync.rotX = rot.x; sync.rotY = rot.y; sync.rotZ = rot.z; sync.orotX = rot.x; sync.orotY = rot.y; sync.orotZ = rot.z; entityManager.SetComponentData(e, sync); }
protected IEnumerator CoEmitTransforms() { while (true) { yield return(new WaitForSeconds(0.1f)); var transforms = joints.Select(n => { var tr = new TransformSyncData(); n.GetPredictedTransforms(ref tr); return(tr); }).ToArray(); TransformSyncDataContainer container = new TransformSyncDataContainer(); container.data = transforms; container.ownerIndex = playerIndex; var jsonStr = JsonConvert.SerializeObject(container); JooNetManager.Instance.socket.Emit("deadReckoning", JSONObject.Create(jsonStr)); } }
public void GetPredictedTransforms(ref TransformSyncData data) { data.curPos = transform.localPosition; data.curRot = transform.localRotation.eulerAngles; data.posSpd = (data.curPos - prevPos) * 10f; data.rotSpd = (data.curRot - prevRot); data.rotSpd = new Vector3( (data.rotSpd.x + 540) % 360f - 180f, (data.rotSpd.y + 540) % 360f - 180f, (data.rotSpd.z + 540) % 360f - 180f ) * 10f; data.posAcc = data.posSpd - posSpd; data.rotAcc = data.rotSpd - rotSpd; prevPos = data.curPos; prevRot = data.curRot; posSpd = data.posSpd; rotSpd = data.rotSpd; data.jointType = (int)this.jointType; }