private void PauseOnFrame(HoloVideoObject sender, SVFFrameInfo frameInfo)
 {
     if (ShouldPauseAfterPlay && frameInfo.frameId >= PauseFrameID)
     {
         Pause();
         ShouldPauseAfterPlay = false;
     }
 }
Beispiel #2
0
    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
        }
    }
Beispiel #3
0
    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;
        }