Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 08.12.2011, 20:02   #46
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

pax, пробовал для второй выставлять - ClearFlags = Don't Clear
Если у второй камеры Depth <= главной, то кубик (=стол) не будет показан.
Если у второй камеры Depth > главной, то кубик (=стол) рисуется, но часть его кусков выпадает при движении камеры, как при Z-файтинге.
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 20:02   #47
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,242 пользователей)
Ответ: Вопросы от новичка

если тебе нужен весь кубик, тогда очищай глубину второй камерой (Depth Only)

Параметр Depth влияет на очередь отрисовки, а не на глубину. Глубину можно стереть (Depth Only), или использовать буфер глубины предыдущей камеры(Don't Clear).
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 20:08   #48
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

pax, мне нужен кубик, но так, чтобы он не был поверх объектов с главной камеры, а был вписан в сцену с главной камеры, т.е. если перед кубиком поставить шарик (отображаемый, главной камерой), то шарик будет показан, а за ним кубик, отображаемый второй камерой.

Хм, интересно, а вообще это реализуемо?
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 20:10   #49
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,242 пользователей)
Ответ: Вопросы от новичка

Это Don't Clear и камеры должны быть на одной и той же позиции. Проще всего вторую камеру поставить дочерней к первой и установить ей трансформ в ноль, кроме скейла
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 20:19   #50
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

pax, так и сделал уже. Результат описан выше.
По логике вещей: для двух камер надо указать одинаковое расположение + Depth + для второй Don't Clear. Отрисовка должна быть так: первая камера вывела изображение в буффер, а потом вторая туда нагадила в соответствии с Depth. Вот у меня только подозрение, что сначала генерит вторая камера, а потом уже выводит первая и все затирает, поскольку у нее флаг Culling Mask = Skybox.
Может быть где то можно указать порядок рендера с камер?
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 20:37   #51
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,242 пользователей)
Ответ: Вопросы от новичка

По порядку:
Первая камера - SkyBox, включены все слои, кроме слоя второй камеры. Depth по умолчанию -1.
Вторая камера - Don't Clear. Включен только слой с кубиком. Глубина 0.

У обоих камер одинаковые FOV и плейны. Камеры совмещены.

Все работает. Проверил.

Снова повторю, что порядок рендеринга устанавливается параметром Depth. Камеры выводят картинку начиная с меньшего Depth, заканчивая большим. Т.е. в данном случае сначала -1, потом 0. Если указать 0 и 1 или 10 и 100 то будет то же самое.

Как работает:
1. Первая камера рендерит всю сцену со скайбоксом, но без кубика.
2. Вторая камера использует буфер глубины первой камеры, т.к. не очищает его. Следовательно все что она нарисует будет перекрываться геометрией, выданной первой камерой.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 20:57   #52
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

Вот сделал тестовый проект: на сцене две камеры, у главной Depth = -1, у дочерней depth = 0. На главную повешен эффект GrayScale. Вторая камера рендерит только слой Ignore MainCamera, в котором распложен кубик с цветной текстурой.
Спереди кубика шарик, сзади цилиндр. На главную камеру повешен скрипт MouseLook, чтобы можно посмотреть, как все себя ведет в движении. А ведет оно себя говнисто

Архив с сырцами для Unity 3.4.2 -http://files.mail.ru/B5D5Z7 (5.3мб)

P.S. Если второй камере поставить Rendering Path = Deferred Lighting, который выставляется на главную камеру, если необходимо отображать тени, то куб начинает вписываться в сцену, однако при этом пост-эффекты, накладываемые на главную камеру, отваливаются.
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 21:06   #53
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,242 пользователей)
Ответ: Вопросы от новичка

Виноват во всем GrayScale эффект. Если его выключить, то все работает нормально.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Aikon (08.12.2011)
Старый 08.12.2011, 21:12   #54
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

pax, получается, что либо пост-эффекты на все, либо рендер с двух камер.
Все вместе не будет работать Фигня какая то.
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 21:24   #55
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,242 пользователей)
Ответ: Вопросы от новичка

Это вероятно баг. Отправь баг репорт с этой тестовой сценой.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.12.2011, 21:28   #56
Aikon
ПроЭктировщик
 
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений
(для 52 пользователей)
Ответ: Вопросы от новичка

pax, я думаю, что это из-за реализации так: когда постэффект накладывается на отрендеренную схему, то данные Z-буфера теряются.

Отправить не могу, так как у меня Pro-версия из-за таблетки, а не $$$. И мне стыдно
(Offline)
 
Ответить с цитированием
Старый 09.12.2011, 03:17   #57
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,242 пользователей)
Ответ: Вопросы от новичка

Отправил (хоть тоже не имею лицензии), вдруг смогут исправить.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 10.12.2011, 13:41   #58
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Как можно камере background сделать из картинки, а не скайбокса?
Не знаю может так надо или баг, но вчера заметил, что если во время плея переключиться из Game в Scene, то у mainCamera меняется aspect.
(Offline)
 
Ответить с цитированием
Старый 10.12.2011, 14:14   #59
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: Вопросы от новичка

Как можно камере background сделать из картинки, а не скайбокса?
Немного костылём:
Вторая камера, рендерит перед главной, у неё в слоях рендера только один-единственный растянутый на всю морду GUITexture или GUI.Label (смотря что тебе больше нравится), у главной камеры Clear flags: Depth only. Как-то так)

Можно извращаться с GL-классом наверное.. И с порядком рендера объектов тоже можно было бы поиграться, но решение со второй камерой будет работать на инди-версии тоже (GL-класс вроде недоступен в инди).
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 10.12.2011, 15:51   #60
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Вопросы от новичка

Поставить плейник,на плейник натянуть текстуру.Это буде экономнее чем класс GUI.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Taugeshtu (11.12.2011)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 07:50.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com