Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.12.2014, 16:10   #1
Arisaka
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 24
Репутация: 10
Вопрос Про Инстанцирование объектов в играх

Возникло несколько вопросов

1. Правильно ли я понимаю?

Замоделили одну модель (кресло например)

"Засунули" в игровой двиг.

Игровая сцена "зал для конференций" (на 40к мест)

И в зале кресло 40 раз проинстанциировано.
Память расходуется на 1 кресло, на 40 позиций и матрицу поворота.

Когда мы копируем один и тот же объект, мы сохраняем кол-во вызовов на отрисовку.

Не отрисовываем "кресло" "кресло" "кресло" "кресло" и так до 40-ка.
А сразу один раз все объекты "КРЕСЛО".

2. Какие объекты можно инстанцировать?
С полностью статичными объектами понятно. (геометрия уровня, полностью статичные объекты)

Можно ли инстанцировать персонажей? (транспорт)
(Динамические и анимированные объекты?)

3. Существуют ли лимиты? С креслами всё ясно их не очень много (40) А если бы их было 1000? (или больше)

4. Насколько инстанцирование снижает потребление ресурсов?

Тени, отражения и проч тоже "один раз", или для каждого объекта отдельно просчитываются?

Последний раз редактировалось Arisaka; 07.12.2014 в 16:16.
Arisaka вне форума   Ответить с цитированием
Старый 07.12.2014, 16:28   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

Мне кажется что чтоб ответить на такие вопросы нужно знать о каком двигле идет речь и как оно работает.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 07.12.2014, 16:40   #3
Arisaka
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 24
Репутация: 10
По умолчанию

Такое есть во многих движках.

Лично я знаю что есть в:
CryEngine 2 и Юнити.
Arisaka вне форума   Ответить с цитированием
Старый 16.12.2014, 12:50   #4
phomm
personality
Профессионал
 
Аватар для phomm
 
Регистрация: 28.04.2009
Адрес: Тюмень
Сообщений: 2,855
Репутация: 1511

icq: 421049471
skype: phomm-
По умолчанию

Нулевой пункт - чтобы люди Вас понимали однозначно, лучше использовать термины устоявшиеся, а не общего плана слова, а именно instancing (как минимум, инстансинг) вместо инстанцирование (которое в программировании имеет ещё смыслы), тем более Вы спрашиваете про технологию в графике.
По 1 пункту лучше читать статьи про инстансинг от серьёзных людей (лучше на
инглише).
2. Инстансинг можно делать для анимированных и неанимированных объектов, насчёт скелетной анимации не скажу, но, думаю, вряд ли, а вот с фреймовой должно быть нормально.
3 Лимиты не знаю, но знаю точно, что инстансинг имеет смысл при больших количествах объектов подвергаемых оному - от 100. И думаю, чем проще объект тем лучше, собственно, поэтому инстансинг применяют для фоновых объектов, типа деревья и трава, заборы какие-нибудь.
4. Вряд ли даже профи скажет, какой будет выигрыш в конкретном случае.

Про остальное - ответ в первом пункте + практика.

Также могу добавить, что сейчас всё делается шейдерами, в том числе и такие оптимизации можно самому написать, наподобие генерируемых в шейдере текстур, сделать генерируемую геометрию.
phomm вне форума   Ответить с цитированием
Старый 25.01.2015, 21:27   #5
Arisaka
Пользователь
 
Регистрация: 02.01.2012
Сообщений: 24
Репутация: 10
По умолчанию

Спасибо. Но... про нулевой пункт.

Это устоявшийся термин. В данном случае никакой путаницы не могло возникнуть.
Arisaka вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инстанцирование шаблона для различных типов 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


12:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru