private void PauseOnFrame(HoloVideoObject sender, SVFFrameInfo frameInfo) { if (ShouldPauseAfterPlay && frameInfo.frameId >= PauseFrameID) { Pause(); ShouldPauseAfterPlay = false; } }
public void AddVideoToSequence(int sequence, HoloVideoObject video) { sequenceList[sequence].VideosToLoad.Add(video); if (sequence == currSequence + 1 || (ShouldLoopSequences && sequence == 0 && currSequence == sequenceList.Count - 1)) { #if (NET_4_6 || USE_ASYNC) video.OpenAsync(); #endif } }
void Start() { Directory.CreateDirectory(previewAssetBasePath); previewVideo = GetComponent <HoloVideoObject>(); // Make sure this is a child of the HoloVideoObject and its transformation matches its parent; HoloVideoObject realVideo = transform.parent.GetComponent <HoloVideoObject>(); previewVideo.Url = realVideo.Url; Assert.IsNotNull(realVideo); transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; transform.localScale = Vector3.one; // In editor play mode, we play a video and pause fix it at given preview frame if (EditorApplication.isPlaying) { previewVideo.Open(previewVideo.Url); previewVideo.Play(); previewVideo.DisplayFrame(previewFrame); StartCoroutine(CaptureFrameWhenPaused()); } // In the edit mode, we instead grab our saved assets and assign them to the preview object else { Mesh previewMesh = (Mesh)AssetDatabase.LoadAssetAtPath(GetPreviewAssetPath("mesh"), typeof(Mesh)); if (previewMesh != null) { GetComponent <MeshFilter>().mesh = previewMesh; } Texture2D previewTexture = (Texture2D)AssetDatabase.LoadAssetAtPath(GetPreviewAssetPath("texture"), typeof(Texture2D)); if (previewTexture != null) { GetComponent <Renderer>().sharedMaterial.mainTexture = previewTexture; GetComponent <Renderer>().sharedMaterial.SetTexture("_EmissionMap", previewTexture); } } previewVideo.GetComponent <MeshRenderer>().enabled = !EditorApplication.isPlaying; }
//---- protected override void Instantiate() { _instance = GameObject.Instantiate(_prefab, transform); _instance.Url = _url; }