예제 #1
0
 public CgeActivityEditorCombiner(AnimationClip leftAnim, AnimationClip rightAnim, Action onClipRenderedFn, CgeEditorEffector editorEffector, EeRenderingCommands previewController)
 {
     _leftPreview       = new EeRenderingSample(leftAnim, CgeMemoryQuery.NewPreviewTexture2D(CombinerPreviewWidth, CombinerPreviewHeight), OnClipRendered);
     _rightPreview      = new EeRenderingSample(rightAnim, CgeMemoryQuery.NewPreviewTexture2D(CombinerPreviewWidth, CombinerPreviewHeight), OnClipRendered);
     _combinedPreview   = new EeRenderingSample(new AnimationClip(), CgeMemoryQuery.NewPreviewTexture2D(CombinerPreviewCenterWidth, CombinerPreviewCenterHeight), OnClipRendered);
     _onClipRenderedFn  = onClipRenderedFn;
     _editorEffector    = editorEffector;
     _previewController = previewController;
 }
예제 #2
0
        public void PrepareJust(AnimationClip baseFace, int visemeNumber)
        {
            if (!_editorEffector.IsPreviewSetupValid())
            {
                return;
            }

            _visemePreviews[visemeNumber] = new EeRenderingSample(GenerateLipsyncClip(baseFace, visemeNumber), _visemePreviews[visemeNumber].RenderTexture, OnClipRendered);

            _renderingCommands.GenerateSpecific(new[] { _visemePreviews[visemeNumber] }.ToList(), _editorEffector.PreviewSetup());
        }
예제 #3
0
        public void Prepare()
        {
            var leftCurves  = FilterAnimationClip(_leftPreview.Clip);
            var rightCurves = FilterAnimationClip(_rightPreview.Clip);

            _cgeDecider = CreateDeciders(leftCurves, rightCurves);

            _combinedPreview = new EeRenderingSample(GenerateCombinedClip(), _combinedPreview.RenderTexture, OnClipRendered);

            CreatePreviews();
        }
예제 #4
0
        private void RegenerateCombinedPreview()
        {
            if (!_editorEffector.IsPreviewSetupValid())
            {
                return;
            }

            _combinedPreview = new EeRenderingSample(GenerateCombinedClip(), _combinedPreview.RenderTexture, OnClipRendered);

            var animationsPreviews = new[] { _combinedPreview }.ToList();

            _previewController.GenerateSpecific(animationsPreviews, _editorEffector.PreviewSetup());
        }
예제 #5
0
        public void Prepare(AnimationClip baseFace)
        {
            if (!_editorEffector.IsPreviewSetupValid())
            {
                return;
            }

            for (var visemeNumber = 0; visemeNumber < _visemePreviews.Count; visemeNumber++)
            {
                _visemePreviews[visemeNumber] = new EeRenderingSample(GenerateLipsyncClip(baseFace, visemeNumber), _visemePreviews[visemeNumber].RenderTexture, OnClipRendered);
            }

            _renderingCommands.GenerateSpecific(_visemePreviews.ToList(), _editorEffector.PreviewSetup());
        }
예제 #6
0
 private void OnClipRendered(EeRenderingSample obj)
 {
     _onClipRenderedFn.Invoke();
 }
예제 #7
0
 private void OnClipRendered(EeRenderingSample animationPreview)
 {
     _memoization.AssignRegular(animationPreview.Clip, animationPreview.RenderTexture);
     _memoization.AssignGrayscale(animationPreview.Clip, GrayscaleCopyOf(animationPreview.RenderTexture));
     _onClipRenderedFn.Invoke();
 }