LOD средствами камеры - Форум Игроделов
Пн, 20 Май 2024, 10:57 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » LOD средствами камеры (Или как отображать только то, на что смотрит камера)
LOD средствами камеры
NapalmRainДата: Пн, 30 Июн 2014, 10:04 | Сообщение # 1
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Доброго всем времени суток!
В моём проекте основная сцена достаточно не маленькая (террейн 2500 на 2500 км с большим количеством объектов). Что бы разгрузить сцену, на каждом объекте, будь то камушек или здание висит LOD group, но недавно натолкнулся на видео презентацию геймплея третьего ведьмака (с E3) и меня заинтересовало, как это сделано у них.
http://www.youtube.com/watch?v=rPm3NXWcEec

Отображение объектов происходит только в том случае, если их видит камера. Не просто направлена в их сторону, а именно видит.

Мне кажется такая система более чем правильная и логичная, но пока я не представляю, как это можно реализовать. Буду думать, так или иначе, если что-то придумаю сам, поделюсь результатом, но если кто-то даст совет или пинка в нужном направлении, буду чрезвычайно благодарен.


Сообщение отредактировал NapalmRain - Пн, 30 Июн 2014, 10:28
 
СообщениеДоброго всем времени суток!
В моём проекте основная сцена достаточно не маленькая (террейн 2500 на 2500 км с большим количеством объектов). Что бы разгрузить сцену, на каждом объекте, будь то камушек или здание висит LOD group, но недавно натолкнулся на видео презентацию геймплея третьего ведьмака (с E3) и меня заинтересовало, как это сделано у них.
http://www.youtube.com/watch?v=rPm3NXWcEec

Отображение объектов происходит только в том случае, если их видит камера. Не просто направлена в их сторону, а именно видит.

Мне кажется такая система более чем правильная и логичная, но пока я не представляю, как это можно реализовать. Буду думать, так или иначе, если что-то придумаю сам, поделюсь результатом, но если кто-то даст совет или пинка в нужном направлении, буду чрезвычайно благодарен.

Автор - NapalmRain
Дата добавления - 30 Июн 2014 в 10:04
AltairДата: Пн, 30 Июн 2014, 11:13 | Сообщение # 2
Unity 3D PRO Developer
 
Сообщений: 758
Награды: 6
Репутация: 195
Статус: Offline
NapalmRain, странно что ты не слыхал о OcclusionCulling .
 
СообщениеNapalmRain, странно что ты не слыхал о OcclusionCulling .

Автор - Altair
Дата добавления - 30 Июн 2014 в 11:13
NapalmRainДата: Пн, 30 Июн 2014, 11:29 | Сообщение # 3
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Цитата Altair ()
странно что ты не слыхал о OcclusionCulling .

А ведь, что самое странное, я о нём слышал, и даже читал различные статьи. Но на тот момент этот вопрос был не актуален, и я благополучно об этом забыл...
Премного благодарен за пинок. Буду вновь вникать.
Но теперь возник такого плана вопрос, скажем, так, похожий на основной, но с возможностью применения в других сферах: а можно ли, как-то узнать, видит камера объект или нет? мануал по камерам в принципе весь перечитал, ничего похожего не нашёл. Но я, судя по всему, с поисковиками на длинной ноге, так что может быть и просто плохо ищу...
 
Сообщение
Цитата Altair ()
странно что ты не слыхал о OcclusionCulling .

А ведь, что самое странное, я о нём слышал, и даже читал различные статьи. Но на тот момент этот вопрос был не актуален, и я благополучно об этом забыл...
Премного благодарен за пинок. Буду вновь вникать.
Но теперь возник такого плана вопрос, скажем, так, похожий на основной, но с возможностью применения в других сферах: а можно ли, как-то узнать, видит камера объект или нет? мануал по камерам в принципе весь перечитал, ничего похожего не нашёл. Но я, судя по всему, с поисковиками на длинной ноге, так что может быть и просто плохо ищу...

Автор - NapalmRain
Дата добавления - 30 Июн 2014 в 11:29
seamanДата: Пн, 30 Июн 2014, 12:13 | Сообщение # 4
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Цитата
можно ли, как-то узнать, видит камера объект или нет?

Ну первое. Оклюжн кулинг нормальные движки реализуют на видеокарте. Современные видеокарты могут это делать аппаратно. Так что на процессоре это узнавать не надо.
Но если нужно для других вещей - чем Вам не подходит Physics.Raycast?
 
Сообщение
Цитата
можно ли, как-то узнать, видит камера объект или нет?

Ну первое. Оклюжн кулинг нормальные движки реализуют на видеокарте. Современные видеокарты могут это делать аппаратно. Так что на процессоре это узнавать не надо.
Но если нужно для других вещей - чем Вам не подходит Physics.Raycast?

Автор - seaman
Дата добавления - 30 Июн 2014 в 12:13
NapalmRainДата: Пн, 30 Июн 2014, 12:40 | Сообщение # 5
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Цитата seaman ()
чем Вам не подходит Physics.Raycast?

Вот это было первое, что пришло в голову, но как именно реализовать это, не смог себе представить.

Стрелять из каждого предмета в сторону камеры и проверять на препятствия... не самый продуктивный вариант. Ровно так же как стрелять множеством лучей из камеры во все стороны...
Это не столько какая-то конкретная задача, сколько просто мысль. В голове родилось несколько идей, которые можно было бы реализовать именно по этому принципу, знать, виден тот или иной предмет на экране или нет...

Не для оптимизации, а именно для геймплейных вопросов.
 
Сообщение
Цитата seaman ()
чем Вам не подходит Physics.Raycast?

Вот это было первое, что пришло в голову, но как именно реализовать это, не смог себе представить.

Стрелять из каждого предмета в сторону камеры и проверять на препятствия... не самый продуктивный вариант. Ровно так же как стрелять множеством лучей из камеры во все стороны...
Это не столько какая-то конкретная задача, сколько просто мысль. В голове родилось несколько идей, которые можно было бы реализовать именно по этому принципу, знать, виден тот или иной предмет на экране или нет...

Не для оптимизации, а именно для геймплейных вопросов.

Автор - NapalmRain
Дата добавления - 30 Июн 2014 в 12:40
seamanДата: Пн, 30 Июн 2014, 14:34 | Сообщение # 6
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Цитата
виден тот или иной предмет на экране или нет.

Renderer.isVisible
 
Сообщение
Цитата
виден тот или иной предмет на экране или нет.

Renderer.isVisible

Автор - seaman
Дата добавления - 30 Июн 2014 в 14:34
NapalmRainДата: Пн, 30 Июн 2014, 15:07 | Сообщение # 7
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
seaman, благодарствую!
Думаю, тему можно закрыть.
 
Сообщениеseaman, благодарствую!
Думаю, тему можно закрыть.

Автор - NapalmRain
Дата добавления - 30 Июн 2014 в 15:07
ЛевшаДата: Пн, 30 Июн 2014, 17:59 | Сообщение # 8
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
NapalmRain, а в чем смысл ?
Камера и так отсекает из рендера все что не в кадре... smile


X.cor.R (Prologue)
 
СообщениеNapalmRain, а в чем смысл ?
Камера и так отсекает из рендера все что не в кадре... smile

Автор - Левша
Дата добавления - 30 Июн 2014 в 17:59
NapalmRainДата: Пн, 30 Июн 2014, 20:15 | Сообщение # 9
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Цитата Левша ()
а в чем смысл ?
Камера и так отсекает из рендера все что не в кадре...

В чём смысл проверки, видно ли объект или в чём смысл использовать occlusion culling?
Если первое, то это не для отсечения, а наоборот. Скорее просто для применения в геймплейной части.
 
Сообщение
Цитата Левша ()
а в чем смысл ?
Камера и так отсекает из рендера все что не в кадре...

В чём смысл проверки, видно ли объект или в чём смысл использовать occlusion culling?
Если первое, то это не для отсечения, а наоборот. Скорее просто для применения в геймплейной части.

Автор - NapalmRain
Дата добавления - 30 Июн 2014 в 20:15
ЛевшаДата: Пн, 30 Июн 2014, 20:45 | Сообщение # 10
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
occlusion culling и Renderer.isVisible - это совершенно разные вещи...
Если для геймПлея то тогда понятно, а иначе нет никакого смысла дублировать то что камера и так сама делает. smile


X.cor.R (Prologue)
 
Сообщениеocclusion culling и Renderer.isVisible - это совершенно разные вещи...
Если для геймПлея то тогда понятно, а иначе нет никакого смысла дублировать то что камера и так сама делает. smile

Автор - Левша
Дата добавления - 30 Июн 2014 в 20:45
NapalmRainДата: Вт, 01 Июл 2014, 10:05 | Сообщение # 11
 
Сообщений: 473
Награды: 0
Репутация: 31
Статус: Offline
Цитата Левша ()
occlusion culling и Renderer.isVisible - это совершенно разные вещи...
Если для геймПлея то тогда понятно, а иначе нет никакого смысла дублировать то что камера и так сама делает.

Я понимаю. Я ж не совсем потерянный для общества индивид.)
 
Сообщение
Цитата Левша ()
occlusion culling и Renderer.isVisible - это совершенно разные вещи...
Если для геймПлея то тогда понятно, а иначе нет никакого смысла дублировать то что камера и так сама делает.

Я понимаю. Я ж не совсем потерянный для общества индивид.)

Автор - NapalmRain
Дата добавления - 01 Июл 2014 в 10:05
seamanДата: Вт, 01 Июл 2014, 18:54 | Сообщение # 12
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Ну например по Renderer.OnBecameInvisible() можно отключать сложные скрипты, чтобы не потребляли ресурсы, по Renderer.OnBecameVisible() их обратно включать.
 
СообщениеНу например по Renderer.OnBecameInvisible() можно отключать сложные скрипты, чтобы не потребляли ресурсы, по Renderer.OnBecameVisible() их обратно включать.

Автор - seaman
Дата добавления - 01 Июл 2014 в 18:54
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » LOD средствами камеры (Или как отображать только то, на что смотрит камера)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024