コード例 #1
0
        internal void RenderAddBlendshape(EePreviewAvatar?dummy, EeEditableBlendshape editableBlendshape, AnimationClip currentClip, int cameraIndex)
        {
            if (!dummy.HasValue)
            {
                return;
            }

            _renderingCommands.GenerateSpecificFastMode(
                new List <EeRenderingSample> {
                new EeRenderingSample(
                    CreateAnimationClipForBinding(currentClip, editableBlendshape.Binding),
                    BufferTexture2D(),
                    preview =>
                {
                    EnsureBasedInitialized();
                    EeRenderingSupport.MutateMultilevelHighlightDifferences(editableBlendshape.BoundaryTexture, preview.RenderTexture, BasedTexture(editableBlendshape.Property));
                    EeAnimationEditorWindow.Obtain().Repaint();
                }
                    )
            },
                dummy.Value,
                cameraIndex
                );
            RenderMain(dummy.Value);
        }
コード例 #2
0
        internal void Throttle(EePreviewAvatar?dummy, EeEditableBlendshape info, AnimationClip currentClip, int cameraIndex, bool stateMaintain, EeAnimationEditorScenePreviewMode stateScenePreviewMode)
        {
            if (!dummy.HasValue)
            {
                return;
            }

            _throttleFinishedAction = () =>
            {
                RenderMain(dummy.Value);
                _renderingCommands.GenerateSpecificFastMode(
                    new List <EeRenderingSample>
                {
                    new EeRenderingSample(
                        CreateAnimationClipForBinding(currentClip, info.Binding),
                        BufferTexture2D(),
                        preview =>
                    {
                        EnsureBasedInitialized();
                        EeRenderingSupport.MutateMultilevelHighlightDifferences(info.BoundaryTexture, preview.RenderTexture, BasedTexture(info.Property));
                        EeAnimationEditorWindow.Obtain().Repaint();
                    }
                        )
                },
                    dummy.Value,
                    cameraIndex
                    );
            };

            if (stateMaintain && stateScenePreviewMode != EeAnimationEditorScenePreviewMode.Always)
            {
                Maintain(dummy.Value);
            }
            else if (!_isCalling)
            {
                EditorApplication.delayCall += () =>
                {
                    _isCalling = false;
                    _throttleFinishedAction();
                };
                _isCalling = true;
            }
        }