// Inside of PullTowardsHand private void getHuman() { // Grab the owner of this blarp int ownerID = _realtimeView.ownerID; if (ownerID == -1) { print("NOOOOOOO"); } // No owner, this is a bug. print(ownerID); // Get a reference to the avatar manager that lives on the same game object as Realtime Realtime realtime = _realtimeView.realtime; RealtimeAvatarManager realtimeAvatarManager = realtime.GetComponent <RealtimeAvatarManager>(); print(realtimeAvatarManager.avatars.Count); // Get a reference to the avatar, blarpatar, and then human RealtimeAvatar realtimeAvatar = realtimeAvatarManager.avatars[ownerID]; Blarpatar avatarBlarpatar = realtimeAvatar.GetComponent <Blarpatar>(); Human h = avatarBlarpatar.human; // Here's your human human = h; started = true; }
public void AvatarCreated(RealtimeAvatarManager avatarManager, RealtimeAvatar avatar, bool isLocalAvatar) { // if its just us make a mirror version of us! if (avatarManager.avatars.Count == 1) { if (doFakeHuman) { buffer.humans = new Human[2]; int index = 0; foreach (KeyValuePair <int, RealtimeAvatar> entry in avatarManager.avatars) { buffer.humans[index] = entry.Value.GetComponent <Human>(); index++; } buffer.humans[1] = fakeHuman; fakeHuman.transform.GetComponent <HumanToCopy>().copy = true; fakeHuman.transform.GetComponent <HumanToCopy>().toCopy = buffer.humans[0]; } else { print("hiiii"); fakeHuman.transform.GetComponent <HumanToCopy>().copy = false; buffer.humans = new Human[avatarManager.avatars.Count]; int index = 0; foreach (KeyValuePair <int, RealtimeAvatar> entry in avatarManager.avatars) { buffer.humans[index] = entry.Value.GetComponent <Human>(); index++; } } if (avatarManager.avatars.Count == 0) { buffer.humans = new Human[1]; buffer.humans[0] = fakeHuman; } } else { fakeHuman.transform.GetComponent <HumanToCopy>().copy = false; buffer.humans = new Human[avatarManager.avatars.Count]; int index = 0; foreach (KeyValuePair <int, RealtimeAvatar> entry in avatarManager.avatars) { buffer.humans[index] = entry.Value.GetComponent <Human>(); index++; } } if (fullRebuild) { Recreate(); } }
public void AvatarDestroyed(RealtimeAvatarManager avatarManager, RealtimeAvatar avatar, bool isLocalAvatar) { buffer.humans = new Human[avatarManager.avatars.Count]; int index = 0; foreach (KeyValuePair <int, RealtimeAvatar> entry in avatarManager.avatars) { buffer.humans[index] = entry.Value.GetComponent <Human>(); print(buffer.humans[0].LeftHand.transform.position); index++; } if (fullRebuild) { Recreate(); } }
void Update() { isGrabbed = _model.isGrabbed; grabbingClientID = _model.grabbingClientID; hand = _model.hand; if( isGrabbed ){ RealtimeAvatar a = avatarManager.avatars[grabbingClientID]; Transform t = a.leftHand; if( hand == 1 ){ t = a.rightHand; } lineRenderer.SetWidth(startLRWidth,startLRWidth); lineRenderer.SetPosition( 0 , transform.position ); lineRenderer.SetPosition( 1 , t.position ); }else{ lineRenderer.SetWidth(0, 0); } }
public void AvatarCreated(RealtimeAvatarManager avatarManager, RealtimeAvatar avatar, bool isLocalAvatar) { int count = avatarManager.avatars.Count; if (count == 1) { float angle = 1 * 6.28f; angle /= (count + 1); float x = Mathf.Sin(angle); float y = -Mathf.Cos(angle); fakeHuman.position = new Vector3(x * Radius, 0, y * Radius); fakeHuman.LookAt(Vector3.zero); } else { fakeHuman.position = Vector3.left * 10000; } foreach (KeyValuePair <int, RealtimeAvatar> entry in avatarManager.avatars) { if (isLocalAvatar) { float angle = (float)entry.Key * 6.28f; angle /= (count + 1); float x = Mathf.Sin(angle); float y = -Mathf.Cos(angle); localTransform.position = new Vector3(x * Radius, 0, y * Radius); localTransform.LookAt(Vector3.zero); } } }
private void RealtimeAvatarManager_avatarCreated(RealtimeAvatarManager avatarManager, RealtimeAvatar avatar, bool isLocalAvatar) { if (realtimeAvatarManager.avatars.ContainsKey(0)) { Player1 = realtimeAvatarManager.avatars[0].gameObject; Player1.name = "Player1"; foreach (SkinnedMeshRenderer rend in Player1.GetComponentsInChildren <SkinnedMeshRenderer>()) { rend.material = blue; } } if (realtimeAvatarManager.avatars.ContainsKey(1)) { Player2 = realtimeAvatarManager.avatars[1].gameObject; Player2.name = "Player2"; foreach (SkinnedMeshRenderer rend in Player2.GetComponentsInChildren <SkinnedMeshRenderer>()) { rend.material = red; } } if (realtimeAvatarManager.localAvatar.gameObject.name == "Player1") { Debug.Log("You are Player1"); PlayerNumber.playerNumber = 1; } if (realtimeAvatarManager.localAvatar.gameObject.name == "Player2") { Debug.Log("You are Player2"); PlayerNumber.playerNumber = 2; } }