public SpawnedAvatar(LoadedAvatar avatar, AvatarInput input) { customAvatar = avatar ?? throw new ArgumentNullException(nameof(avatar)); _gameObject = Object.Instantiate(customAvatar.gameObject); _firstPersonExclusions = _gameObject.GetComponentsInChildren <FirstPersonExclusion>(); eventsPlayer = _gameObject.AddComponent <AvatarEventsPlayer>(); tracking = _gameObject.AddComponent <AvatarTracking>(); tracking.customAvatar = customAvatar; tracking.input = input; if (customAvatar.isIKAvatar) { AvatarIK ik = _gameObject.AddComponent <AvatarIK>(); ik.input = input; } if (customAvatar.supportsFingerTracking) { _gameObject.AddComponent <AvatarFingerTracking>(); } Object.DontDestroyOnLoad(_gameObject); }
public SpawnedAvatar(CustomAvatar customAvatar, AvatarInput input) { this.customAvatar = customAvatar ?? throw new ArgumentNullException(nameof(customAvatar)); _gameObject = Object.Instantiate(customAvatar.gameObject); eventsPlayer = _gameObject.AddComponent <AvatarEventsPlayer>(); behaviour = _gameObject.AddComponent <AvatarBehaviour>(); behaviour.customAvatar = customAvatar; behaviour.input = input; Object.DontDestroyOnLoad(_gameObject); }
private static SpawnedAvatar SpawnAvatar(CustomAvatar customAvatar, AvatarInput input) { if (customAvatar == null) { throw new ArgumentNullException(nameof(customAvatar)); } if (input == null) { throw new ArgumentNullException(nameof(input)); } var spawnedAvatar = new SpawnedAvatar(customAvatar, input); return(spawnedAvatar); }
public void InitializeSelectedAvatarModel(int avatarSelectionNumber) { GameObject selectedAvatarGameobject = Instantiate(AvatarModelPrefabs[avatarSelectionNumber], localXRRigGameObj.transform); AvatarInput avatarInputConverter = transform.GetComponent <AvatarInput>(); AvatarHolder avatarHolder = selectedAvatarGameobject.GetComponent <AvatarHolder>(); SetUpAvatarGameobject(avatarHolder.HeadTransform, avatarInputConverter.AvatarHead); SetUpAvatarGameobject(avatarHolder.BodyTransform, avatarInputConverter.AvatarBody); SetUpAvatarGameobject(avatarHolder.HandLeftTransform, avatarInputConverter.AvatarHand_Left); SetUpAvatarGameobject(avatarHolder.HandRightTransform, avatarInputConverter.AvatarHand_Right); SetUpAvatarGameobject(avatarHolder.oculusTouchRight, avatarInputConverter.AvatarHand_Right); SetUpAvatarGameobject(avatarHolder.oculusTouchLeft, avatarInputConverter.AvatarHand_Left); }