Viewport камеры

Программирование на Юнити.

Viewport камеры

Сообщение bakca 21 авг 2009, 13:04

Как ограничить показ окном с соотношением сторон 4/3? При этом на широкоформатных мониторах должны появляться черные поля по бокам. Свойством camera.aspect сделать такое не удалось.
Аватара пользователя
bakca
UNец
 
Сообщения: 19
Зарегистрирован: 03 авг 2009, 11:10

Re: Viewport камеры

Сообщение Neodrop 21 авг 2009, 13:58

Никак, на сколько я помню. Только если добавлять чёрные полоски самостоятельно.
Камеры в [unity 3D] Unity автоматом подстраиваются под размер экрана.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Viewport камеры

Сообщение gnoblin 21 авг 2009, 14:01

Ставишь две камеры в сцену:
1) одна рендерит игру с depth = 0 и camera.pixelRect c нужным тебе соотношением сторон,
2) вторая с черным бэкграундом с depth = -1 и ректом на всю область экрана -обеспечивает отсутствие косяков.

Запускаешь игру в оконном режиме и в Start() скрипта проверяешь разрешение моника которое стоит у пользователя сейчас (Screen.currentResolution) и сразу же переключаешься в полный экран.

При этом pixelRect игровой камеры растягиваешь так чтобы по вертикали не было рамок (только по бокам) и соотношение сторон оставалось нужное.

Код: Выделить всё
float k = 4f/3f;
camera_width_new = (int)(user_screen_height * k);
camera.pixelRect = new Rect(Screen.width * 0.5f - camera_width_new * 0.5f, 0f, camera_width_new, user_screen_heigth);


Так к примеру при разрешении 1680х1050, у игровой камеры будет высота 1050 и ширина примерно 1400 пикселей.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Viewport камеры

Сообщение Neodrop 21 авг 2009, 14:07

Точно. Только ты кажись перемудрил. Проще через Normalized View Port Rect на камере сделать. Что-то мне сразу в голову не пришло... Тогда не придётся ничего рендерить двумя камерами.
только на GUI это не повлияет и тут нужно скриптом подправить его (GUI) положение.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Viewport камеры

Сообщение gnoblin 21 авг 2009, 14:52

Давай рабочий пример 8-x .
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Viewport камеры

Сообщение Neodrop 21 авг 2009, 14:56

Да пошел ты в (полная Ж) . Где мне время на такие экзерcисы взять? :!!
Берёшь работающую сцену, выделяешь камеру и ручками тягаешь значение камеры Normalized View Port Rect (X и Width - для того чтобы каше было справа и слева или Y и Height) и сразу всё видишь. :ymparty:
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Viewport камеры

Сообщение gnoblin 21 авг 2009, 15:08

Просто кто-то меня пинал в прошлый раз за непроверенные высказывания и преположения.

1) проверил - без второй камеры которая рендерит Nothing для фона - будут ужасные косяки вне ректа камеры.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Viewport камеры

Сообщение gnoblin 21 авг 2009, 15:12

2) для решения проблемы normalized pixel rect не подходит потому что к нему программного доступа нет.
camera.aspect не помогает.

Поэтому на широкоформатных мониках (а их 2 вида есть между прочим - 16:10 и 16:9) по-сравнению с мониками 4:3 будет тянуться рект камеры.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Viewport камеры

Сообщение Neodrop 21 авг 2009, 15:41

С какого перепуга "будет тянуться"? У меня два широкоформатных моника. Ничего никогда не тянулось.
Куды там тебе доступ не найти? Сюды что-ли? Camera.rect ? =))

Прежде чем про Normalized писать, я проверил на своей сцене. Дуст непуганый. [-(
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Viewport камеры

Сообщение gnoblin 21 авг 2009, 15:59

(полная Ж)

С какого перепуга "будет тянуться"? У меня два широкоформатных моника. Ничего никогда не тянулось.
Куды там тебе доступ не найти? Сюды что-ли? Camera.rect ?

Прежде чем про Normalized писать, я проверил на своей сцене. Дуст непуганый.


Вот что ты где проверил?

Normalized никак не помогает, вторая камера нужна, если делать все через camera.rect - возвращаемся к моему способу.
Что ты кипишь поднимаешь?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Viewport камеры

Сообщение Neodrop 21 авг 2009, 16:02

Изменение Normalized View Port Rect я проверил, если неясно выразился.
Зачем сдалась вторая камера? Если и одна даёт каше? :-?

Вот на картинке видно. Как я и говорил, необходимо подправить размеры GUI, потому что на него Rect камеры не влияет.
На кой тут вторая камера?
У вас нет доступа для просмотра вложений в этом сообщении.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Viewport камеры

Сообщение gnoblin 21 авг 2009, 17:01

На кой тут вторая камера?

В standalone посмотри.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Viewport камеры

Сообщение Neodrop 21 авг 2009, 18:19

Не очищается Z буфер. И что? Если туда ничего не вытаскивать, так и очищать нечего будет.
Уговорил, вторая камера гарантирует очищение буфера и отсутствие артефактов в каше. \m/
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Viewport камеры

Сообщение bakca 24 авг 2009, 11:46

Да, без второй камеры в поля попадали например некоторые партиклы и зависали там.
Аватара пользователя
bakca
UNец
 
Сообщения: 19
Зарегистрирован: 03 авг 2009, 11:10

Re: Viewport камеры

Сообщение fis 15 сен 2009, 17:36

вот кстати скриптик в тему
http://forum.unity3d.com//files/cameraa ... tio_901.js
fis
UNITрон
 
Сообщения: 212
Зарегистрирован: 31 июл 2009, 11:52
Откуда: Львов
  • Сайт
  • ICQ


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7