Как рендерить в Editor скриптах
Генерация 2д иконок.
Сделать в Coustom menu кнопку при нажатии которой будет генерироваться набор Png "скриношотов" 3д моделей. Вопрос как рендерить в Editor скриптах? Нужно создавать временную с цену с камерой, потом renderToTexture и удалить сцену. |
Ответ: Как рендерить в Editor скриптах
Вполне нормальное решение...
Можно наверное не делать новые сцены, а взять например не используемый слой (например 31) и запихнуть в него объект, а камере выставить cullingMask на этот слой. |
Ответ: Как рендерить в Editor скриптах
Думаю использовать Application.CaptureScreenshot.
Как можно изменить разрешение окна Game? Ничего не нашел. Код:
public class Generate2DIcons : ScriptableObject |
Ответ: Как рендерить в Editor скриптах
Тута ручками можно
|
Ответ: Как рендерить в Editor скриптах
Цитата:
2) Зачем морока с обрезанием текстуры? Используй как написали выше отдельную камеру. Сразу отрендеришь в текстуру нужного разрешения. Еще может быть поможет инфа, что у отдельной камеры можно поставить ортографическую проекцию и изменить размер (size). |
Ответ: Как рендерить в Editor скриптах
Цитата:
|
Ответ: Как рендерить в Editor скриптах
Цитата:
Код вырос и какой-то треш, в картинку попадает область вне рендера. Код:
public class Generate2DIcons : ScriptableObject |
Ответ: Как рендерить в Editor скриптах
Цитата:
Создаешь новый слой и назначаешь тем объектам, которые нужно рендерить. Слой это справа от "Tag". Создаешь новую камеру для рендера. Ставишь clearFlags: SolidColor; Culling Mask: имя слоя, который ты создал и назначил объектам; Projection: подойдет вроде любой, но лучше поставить ортографический; Size: такой что бы все объекты попали в камеру, но при этом что бы меньше было пустоты по бокам (короч 1.2 подойдет). Еще у камеры можно в Background задать черный или яркозеленый цвет что бы потом обрезать фон (как сделать прозрачный фон хз). Создаешь в редакторе (можно и в коде, но зачем?) RenderTexture и назначаешь её в TargerTexture у камеры, которая будет рендерить. Вешаешь скрипт на рендер камеру, который ниже (можно и свой через элементы меню и прочее, но это уже сам переделывай). ?? Вроде всё ?? Запускаешь игру@смотришь картинку в папке. Код:
using UnityEngine; |
Ответ: Как рендерить в Editor скриптах
Цитата:
Собственно внизу код, результат вроде, как надо. Результат не зависит от размера Game окна. Что я собственно не мог побороть в начале. Код:
public class Generate2DIcons : ScriptableObject EditorWindow.focusedWindow.maxSize = new Vector2 (10, 10); но вроде нужно. |
Ответ: Как рендерить в Editor скриптах
Ты как раз костылей наделал.
Что будет если окно не в фокусе? Для чего новая сцена??? Кнопочка в редакторе дело вкуса, принцип не меняется. Фикс: Что бы был прозрачный фон нужно: Поставить у камеры, которая рендерит ClearFlags: DepthOnly и заменить строку в коде: Цитата:
Цитата:
Еще хотел возразить насчет того, что твой код гуглиться по первой ссылке при запросе "unity3d render texture to file". Так собственно зачем спрашивать совета на форуме когда ты в конечном итоге взял готовый стремный код из гугла и доволен? |
Ответ: Как рендерить в Editor скриптах
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 08:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot