|
1 | | -# CameraScreenshot |
| 1 | +# Unity Certain Camera Screenshot |
| 2 | + |
| 3 | +### Установка: |
| 4 | +1. Открыть [релизы](https://github.com/mentoster/Unity-CertainCameraScreenshot/releases) |
| 5 | +2. Скачать пакет ScrnCameraScript.unitypackage при открытом unity. |
| 6 | +3. Разрешить импорт в редакторе unity. |
| 7 | +### Использование: |
| 8 | +1. Перетащить скрипт ScreenShot на камеру, с которой необходимо сделать скриншот. |
| 9 | +2. Написать свой скрипть со следующим кодом (в данном примере необходимо нажать пробел для скриншота): |
2 | 10 |
|
| 11 | + ```C# |
| 12 | + //суда помещаем нашу камеру, с которой происходит скриншот |
| 13 | + public ScreenShot ScrnCamera; |
| 14 | + private void Update() |
| 15 | + { |
| 16 | + //Кнопка для нажатия |
| 17 | + if (Input.GetKeyDown(KeyCode.Space)) |
| 18 | + { |
| 19 | + //делаем скриншот |
| 20 | + ScrnCamera.MakeScrn(); |
| 21 | + } |
| 22 | + } |
| 23 | + ``` |
| 24 | + или взять готовый скрипт DemoScene и поместить на сцену. |
| 25 | + 3. Запустить сцену и нажать необходимую кнопку (пробел по дефолту) |
| 26 | +## Ура! Вы сделали скриншот! |
| 27 | + * Программа Автоматически подстраивается под ваш экран. |
| 28 | + * Программа Автоматически создаёт папку в вашем проекте под названием Screenshots и кидает туда скриншоты! |
| 29 | + * Вы так же можете изменить формат записи имени и путь сохранения скриншотов. |
| 30 | + |
| 31 | +### Ошибки на которые стоит наплевать: |
| 32 | +1. [Ваши кровные враги](https://yadi.sk/i/GJBnVsEFowxMrQ) |
| 33 | +2. Таааак, вот что говорит нам эта зверюга: |
| 34 | +* ReadPixels was called to read pixels from system frame buffer, while not inside drawing frame. |
| 35 | +* UnityEngine.Texture2D:ReadPixels(Rect, Int32, Int32) |
| 36 | +* ScreenShot:LateUpdate() |
| 37 | +3. Перевожу с unityвского - вы воспользововались методом, не предназначенным для делания скриншотов (вот так новость, правда?)! |
| 38 | +* Это возникает из-за того что я использую LateUpdate() |
| 39 | +* И скриншоты работают благодаря ScrnCam.Render(); |
| 40 | +* Если использовать метод для скриншотов, то скриншот будет браться с основной камеры (больно надо). |
| 41 | +4. Я пока не разобрался, как сказать unity перестать отображать ошибку, поэтому пока предлагаю вам с этим смириться. |
| 42 | + |
0 commit comments