Пример #1
0
        public virtual void BeginRecording()
        {
            Screen.orientation = ScreenOrientation.Landscape;

            int w, h;

            GameViewSize.GetGameRenderSize(out w, out h);

#if UNITY_EDITOR
            switch (recorder.defaultResolution)
            {
            case Resolution.Window:
            {
                outputWidth  = (w + 1) & ~1;
                outputHeight = (h + 1) & ~1;
                break;
            }

            default:
            {
                outputHeight = (int)recorder.defaultResolution;
                outputWidth  = (int)(outputHeight * AspectRatioHelper.GetRealAR(recorder.defaultAspectRatio));

                outputWidth  = (outputWidth + 1) & ~1;
                outputHeight = (outputHeight + 1) & ~1;
                break;
            }
            }

            //Debug.Log("Screen resolution: " + w + "x" + h);

            if (w != outputWidth || h != outputHeight)
            {
                Debug.Log("[VimeoRecorder] Setting window size to: " + outputWidth + "x" + outputHeight);
                var size = GameViewSize.SetCustomSize(outputWidth, outputHeight) ?? GameViewSize.AddSize(outputWidth, outputHeight);
                if (GameViewSize.m_ModifiedResolutionCount == 0)
                {
                    GameViewSize.BackupCurrentSize();
                }
                else
                {
                    if (size != GameViewSize.currentSize)
                    {
                        Debug.LogError("[VimeoRecorder] Requestion a resultion change while a recorder's input has already requested one! Undefined behaviour.");
                    }
                }

                GameViewSize.m_ModifiedResolutionCount++;
                m_ModifiedResolution = true;
                GameViewSize.SelectSize(size);
            }
#endif
        }