private void Awake() { Animator animator = gameObject.GetOrAddComponent <Animator>(); animator.enabled = false; animator.runtimeAnimatorController = EmptyController; emulatorInstance = this; }
private void Awake() { Animator animator = gameObject.GetOrAddComponent <Animator>(); animator.enabled = false; animator.runtimeAnimatorController = EmptyController; emulatorInstance = this; VRCAvatarDescriptor[] avatars = FindObjectsOfType <VRCAvatarDescriptor>(); Debug.Log(this.name + ": Setting up Av3Emulator on " + avatars.Length + " avatars.", this); foreach (var avadesc in avatars) { if (avadesc.GetComponent <PipelineSaver>() != null) { Debug.Log("Found PipelineSaver on " + avadesc.name + ". Disabling clones and mirror copy.", avadesc); DisableMirrorClone = true; DisableShadowClone = true; CreateNonLocalClone = false; EnableHeadScaling = false; } try { // Creates the playable director, and initializes animator. var oml = avadesc.gameObject.GetOrAddComponent <UnityEngine.AI.OffMeshLink>(); oml.startTransform = this.transform; bool alreadyHadComponent = avadesc.gameObject.GetComponent <LyumaAv3Runtime>() != null; var runtime = avadesc.gameObject.GetOrAddComponent <LyumaAv3Runtime>(); if (oml != null) { GameObject.DestroyImmediate(oml); } runtime.emulator = this; runtime.VRMode = DefaultToVR; runtime.TrackingType = DefaultTrackingType; runtime.InStation = DefaultTestInStation; runtime.DebugDuplicateAnimator = DefaultAnimatorToDebug; runtime.EnableHeadScaling = EnableHeadScaling; runtimes.Add(runtime); if (!alreadyHadComponent && !DisableShadowClone) { runtime.CreateShadowClone(); } if (!alreadyHadComponent && !DisableMirrorClone) { runtime.CreateMirrorClone(); } runtime.DisableMirrorAndShadowClones = DisableShadowClone && DisableMirrorClone; } catch (System.Exception e) { Debug.LogException(e); } } if (WorkaroundPlayModeScriptCompile) { LyumaAv3Runtime.ApplyOnEnableWorkaroundDelegate(); } }
public void Start() { LyumaAv3Emulator[] emulators = FindObjectsOfType <LyumaAv3Emulator>(); if (emulators == null || emulators.Length == 0) { return; } emulator = emulators[0]; if (emulator != null && emulator.runtimes != null) { if (emulator.runtimes.Count > 0) { avatarDescriptor = emulator.runtimes[0].GetComponent <VRC.SDK3.Avatars.Components.VRCAvatarDescriptor>(); } } }