|
FAQ Туториалы и часто задаваемые вопросы |
08.11.2010, 14:07
|
#1
|
AnyKey`щик
Регистрация: 05.11.2010
Адрес: Красноармейск, Украина
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Альтернативы SkyBox для открытого мира
Доброго времени суток всем. Вопрос таковой:
Начал делать игру с "открытым миром" и столкнулся с тем, что реализация окружения мира методом SkyBox (на сайте есть почти идентичный пример) не подходит для этого. Для маленького замкнутого уровня он замечателен, а здесь нужны альтернативы.
Мир такой - корабль в море и плавать можно на большие расстояния, вода прозрачная. При скайбоксе хорошо выглядит мир только пока игрок в центре "коробки" и не часто смотрит вниз. Дно есть, но видно что оно далеко и слишком уж ровное. Если подплыть ближе к краю "коробки" то становится все очевиднее что это КОРОБКА, а посмотрев в противоположный угол можно увидеть и срезанные углы этой коробки (не смотря на то, что максимальная дистанция камеры и так 10000, а размер "коробки" 5000).
Пробовал использовать стандартный "туман", но он даже на дистанции 10000 заметно меняет цвет коробка и делает саму "коробку" явной даже для наблюдателя в центре.
Наличие на стенах коробки островов и облаков вообще не нужно, т.к. при движении они выглядят неестественно и впоследствии их заменю на реальные объекты.
Увеличить "коробку" и дистанцию камеры в сотню раз это глупо.
По сути вокруг должны быть однородные пространства - вода, воздух и дно, так что особо мудреного ничего и не требуется.
Итог: Посоветуйте, пожалуйста, альтернативы SkyBox для того чтобы отображать внешний мир с учетом, что игрок может перемещаться на большие расстояния в любом направлении.
P.S. Примеры приветствуются. Заранее спасибо.
|
(Offline)
|
|
08.11.2010, 14:11
|
#2
|
Бывалый
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений (для 102 пользователей)
|
Ответ: Альтернативы SkyBox для открытого мира
двигай коробку вместе с камерой, поставь ей отрицательный ордер чтобы рендерилась первой (тогда её размеры не будут иметь значения).
|
(Offline)
|
|
08.11.2010, 14:20
|
#3
|
AnyKey`щик
Регистрация: 05.11.2010
Адрес: Красноармейск, Украина
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Альтернативы SkyBox для открытого мира
НУБ, спасибо, только хотел сказать, что такое уже приходило в голову, но как-то все рано она меня не устраивает в этом деле.
Как допустим будет, если на расстоянии от игрока до стенки коробки появляется объект (остров, корабль) - пока он за "стенкой" он невидим, а потом РАЗ- и пролазит через стенку ...
|
(Offline)
|
|
08.11.2010, 14:24
|
#4
|
Бывалый
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений (для 102 пользователей)
|
Ответ: Альтернативы SkyBox для открытого мира
в таком варианте, как я описал - расстояния до всех стенок куба = бесконечность(он не пишется в z-буфер) Так что объекты могут внезапно резаться только дальней плоскостью отсечения камеры. Вывод - сделай туман
|
(Offline)
|
|
08.11.2010, 14:38
|
#5
|
AnyKey`щик
Регистрация: 05.11.2010
Адрес: Красноармейск, Украина
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Альтернативы SkyBox для открытого мира
Видимо не поняли друг друга.
Расстояние от игрока до края коробки всегда 5000, допустим. До края он не доплывает, хорошо. Но расстояние до всех остальных объектов в мире меняется и они могут то попадать в коробку (при приближении ближе чем на 5000) или исчезать из нее, оказавшись за гранью. Так вот корабль с 5000 тысяч точек уже видно на глаз, а огромный остров тем более, а выходит, что на 5001 (от игрока) он абсолютно невидим, а на 4999 уже резко появляется во всю высоту.
Туман был бы наверное подходящим, хорошим и даже обязательным, если не использовать скайбокс вовсе - тогда бы и остров "выходил из тумана" - отлично. НО! В сочетании со скайбоксом он очень плохо выглядит - я и цвета подбирал и дистанцию вдвое больше коробки делал (а смысл уже больше). Туман делает квадратность мира ОЧЕНЬ ЗАМЕТНОЙ! А если дистанция тумана меньше коробки, то и саму коробку уже невидно и смыслу в ней нет.
А как корректнее двигать скайбокс? Привязать его к игроку и все?
Может лучше использовать тогда уже туман и плоскость для облаков в небе и дно с помощью карты высот и все без скайбокса?
Последний раз редактировалось YaLAS, 08.11.2010 в 14:40.
Причина: уточнение
|
(Offline)
|
|
08.11.2010, 14:45
|
#6
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Альтернативы SkyBox для открытого мира
Еще раз для тех кто в танке. При порядке отрисовки объекта меньше 0 (EntityOrder()), объект (в нашем случае скайбокс) рисуется перед всеми объектами, и будет служить фоном. Он физически не перекрывает никакие объекты, все будет рисоваться только поверх него. Можно считать, что вместо заливки окна сплошным цветом он зальется картинкой, если так проще воспринять. Технически не имеет значения какой у него будет размер, 1х1х1 или 100500х100500х100500, выглядеть будет одинаково, важно правильно его только позиционировать относительно камеры.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Knightmare за это полезное сообщение:
|
|
08.11.2010, 15:01
|
#7
|
Бывалый
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений (для 102 пользователей)
|
Ответ: Альтернативы SkyBox для открытого мира
На перую часть Knightmare ответил. Про туман - отключи его на скайбоксе (entityfx), а на его текстуре нарисуй нужного цвета около горизонта, всё.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:57.
|