Войти
ПрограммированиеФорумГрафика

Все об устройстве и отрисовке сцены (9 стр)

Страницы: 16 7 8 9 10 11 Следующая »
#120
23:31, 1 мая 2016

Delfigamer
> Но "физика" это не другой компонент, это отдельная подсистема.

Это значит, что один и тот же компонент может апдейтится разными системами ?


#121
23:49, 1 мая 2016

Delfigamer
> Но "физика" это не другой компонент, это отдельная подсистема.
А что, из контекста не понятно, что имеются в виду не просто разные компоненты, а разные типы компонентов? Компоненты одного типа, как правило, обрабатываются в одной системе и с ними как раз нет никаких проблем. А позиция или скелет может разделяться между разными типами компонентов, причем в зависимости от логики по разному. Например - переход от анимации к рагдолу и обратно, от навигации к кинематике, смена материала в зависимости от параметра в игровой компоненте и тд. Вообще, эти зависимости плохо формализуются и их часто просто выносят в управляющий скриптовый говнокод.

#122
0:06, 2 мая 2016

innuendo
> Это значит, что один и тот же компонент может апдейтится разными системами ?
И что? Вопрос был про взаимодействие различных компонентов между собой. Моя позиция - между собой они взаимодействовать не должны. Через подсистемы - пожалуйста, подсистемы для того и сделаны, чтобы объекты были не сами по себе, а в одном цельном мире. Через актёра - пожалуйста, актёры затем и нужны, чтобы содержать логику на уровне игрового объекта. Только "через актёра" значит, что весь код находится в актёре, а не как у прочих диванов, когда один компонент зачем-то просит ссылку на соседа у хозяина или, ещё круче, шлёт ему письмо.
И я не говорил, что один компонент может взаимодействовать только с одной подсистемой. Опять же в UE4 чуть ли не каждый компонент взаимодействует с рендерером, чтобы нарисовать себя в редакторе, а у мешей коллайдеры порой встроены прямо в ассет.

#123
3:28, 2 мая 2016

Вот здесь https://www.packtpub.com/application-development/mastering-android-ndk начиная с 8 главы Writing a Rendering Engine и до самого конца книги написано как делать рендерер с нуля с блэкджеком ноудами, очередями, метариалами и прочей ересью.

#124
10:06, 2 мая 2016

Delfigamer
> . Моя позиция - между собой они взаимодействовать не должны. Через подсистемы -
> пожалуйста, подсистемы для того и сделаны, чтобы объекты были не сами по себе,
> а в одном цельном мире.

Есть компонент логики, он ставит звук в звуковой компонент или как должно быть ?

Delfigamer
> И я не говорил, что один компонент может взаимодействовать только с одной
> подсистемой.

Ok. Это вопрос для любителей ECS

#125
10:26, 2 мая 2016

innuendo
> Ok. Это вопрос для любителей ECS
К чему это?..

#126
10:31, 2 мая 2016

-Eugene-
> > Ok. Это вопрос для любителей ECS
> К чему это?..

К тому, что правило один компонент обновляется только своей системой и что компоненты только пассивные данные не совсем достаточно в реальных проектах

#127
11:40, 2 мая 2016

_NetSurfer_
Спасибо, скачал, еле нашел.

#128
11:46, 2 мая 2016

Рендеру в идеале нельзя модифицировать объекты никоим образом. Ему просто подаёшь на вход список из объектов, которые должны быть отрисованы, он отсекает невидимые и рисует по тем позициям и матрицам поворота, которые ему дали. Отсечение + отрисовка + освещение, всё.
Ничем другим рендерер заниматься не должен. Если бы у нас был к примеру софтварный рендерер, то результаты его работы могли бы быть использованы в остальных подсистемах тем или иным образом, но с видеокарты обратно данные получать себе дороже.

#129
13:05, 2 мая 2016

ещё такой вариант (как в Doom3) - у рендерера функции LoadScene(), RenderScene(), LoadEntity(), SubmitEntityToCurrentFrame(), и ничем другим он не занимается.

#130
13:48, 2 мая 2016

innuendo
> Есть компонент логики, он ставит звук в звуковой компонент или как должно быть?
Какой ещё компонент логики? Под "взаимодействием через подсистему" я имел в виду вещи типа коллизий между коробками через физдвижок.
А выбор звука в зависимости от ситуации - это уже скорее работа актёра, чем какого-нибудь компонента.

#131
14:01, 2 мая 2016

Delfigamer
> Какой ещё компонент логики?

То, что есть в код Actor.

> А выбор звука в зависимости от ситуации - это уже скорее работа актёра, чем
> какого-нибудь компонента.

Есть компонентные системы без Actor. GameObject/Entity просто контейнер для компонетов
В UE4 очень забавно получается - есть иерархия SceneComponent, а есть иерархия компонентов внутри самого Actor

#132
14:24, 2 мая 2016

innuendo
> Есть компонентные системы без Actor. GameObject/Entity просто контейнер для
> компонетов
Какие-то кастрированные системы. >_>

innuendo
> В UE4 очень забавно получается - есть иерархия SceneComponent, а есть иерархия
> компонентов внутри самого Actor

Так говоришь, будто что-то плохое.

Какая же там иерархия, по переменной на компонент - и готово.
#133
14:30, 2 мая 2016

Delfigamer
> Какие-то кастрированные системы. >_>

Не всё что в UE идеально :) Такой GameObject это классика.

> Какая же там иерархия, по переменной на компонент - и готово.

Ну сделай Actor чтобы  можно было одевать одежду (skinned meshes) на скелет, который тоже skinned mesh.
Для FPS уже будет Mesh1P и Mesh3P от родительской ноды

#134
14:33, 2 мая 2016

Vlad2001_MFS
> Спасибо, скачал, еле нашел
гдееее?

Страницы: 16 7 8 9 10 11 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.