|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.12.2014, 15:10 | #1 |
Пользователь
Регистрация: 02.01.2012
Сообщений: 24
|
Про Инстанцирование объектов в играх
Возникло несколько вопросов
1. Правильно ли я понимаю? Замоделили одну модель (кресло например) "Засунули" в игровой двиг. Игровая сцена "зал для конференций" (на 40к мест) И в зале кресло 40 раз проинстанциировано. Память расходуется на 1 кресло, на 40 позиций и матрицу поворота. Когда мы копируем один и тот же объект, мы сохраняем кол-во вызовов на отрисовку. Не отрисовываем "кресло" "кресло" "кресло" "кресло" и так до 40-ка. А сразу один раз все объекты "КРЕСЛО". 2. Какие объекты можно инстанцировать? С полностью статичными объектами понятно. (геометрия уровня, полностью статичные объекты) Можно ли инстанцировать персонажей? (транспорт) (Динамические и анимированные объекты?) 3. Существуют ли лимиты? С креслами всё ясно их не очень много (40) А если бы их было 1000? (или больше) 4. Насколько инстанцирование снижает потребление ресурсов? Тени, отражения и проч тоже "один раз", или для каждого объекта отдельно просчитываются? Последний раз редактировалось Arisaka; 07.12.2014 в 15:16. |
07.12.2014, 15:28 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Мне кажется что чтоб ответить на такие вопросы нужно знать о каком двигле идет речь и как оно работает.
I'm learning to live...
|
07.12.2014, 15:40 | #3 |
Пользователь
Регистрация: 02.01.2012
Сообщений: 24
|
Такое есть во многих движках.
Лично я знаю что есть в: CryEngine 2 и Юнити. |
16.12.2014, 11:50 | #4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,889
|
Нулевой пункт - чтобы люди Вас понимали однозначно, лучше использовать термины устоявшиеся, а не общего плана слова, а именно instancing (как минимум, инстансинг) вместо инстанцирование (которое в программировании имеет ещё смыслы), тем более Вы спрашиваете про технологию в графике.
По 1 пункту лучше читать статьи про инстансинг от серьёзных людей (лучше на инглише). 2. Инстансинг можно делать для анимированных и неанимированных объектов, насчёт скелетной анимации не скажу, но, думаю, вряд ли, а вот с фреймовой должно быть нормально. 3 Лимиты не знаю, но знаю точно, что инстансинг имеет смысл при больших количествах объектов подвергаемых оному - от 100. И думаю, чем проще объект тем лучше, собственно, поэтому инстансинг применяют для фоновых объектов, типа деревья и трава, заборы какие-нибудь. 4. Вряд ли даже профи скажет, какой будет выигрыш в конкретном случае. Про остальное - ответ в первом пункте + практика. Также могу добавить, что сейчас всё делается шейдерами, в том числе и такие оптимизации можно самому написать, наподобие генерируемых в шейдере текстур, сделать генерируемую геометрию. |
25.01.2015, 20:27 | #5 |
Пользователь
Регистрация: 02.01.2012
Сообщений: 24
|
Спасибо. Но... про нулевой пункт.
Это устоявшийся термин. В данном случае никакой путаницы не могло возникнуть. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инстанцирование шаблона для различных типов | winst2014 | Помощь студентам | 0 | 23.02.2013 18:41 |
Создание и уничтожение объектов. Время жизни объектов C++/C# | Anett// | Помощь студентам | 0 | 24.10.2011 23:26 |
о играх | ололошенько | Компьютерное железо | 21 | 13.10.2010 09:50 |
Эмуляция в играх | magros | Общие вопросы .NET | 6 | 21.06.2010 07:06 |