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

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

Страницы: 17 8 9 10 11 Следующая »
#105
18:36, 1 мая 2016

-Eugene-
> Если ты итерируешь по элементам, чтобы изнутри построить еще один контейнер и
> работать уже с ним - это костыль.

Это разные контейнеры. Все техники типа сортировки по материалам по сути то же самое.
Внутри никакой контейнер на создаётся, тяжко то как :)


#106
18:42, 1 мая 2016

innuendo
> От MovementComponent ?
WhicheverOneThatHasATransformComponent.

#107
18:47, 1 мая 2016

Delfigamer

Не помню точно, если не добавить то ли Movement, то ли Collision компонент - не работют методы SetActorLocation ( остаётся в нуле )

#108
21:07, 1 мая 2016

-Eugene-
> Тогда как в ECS нужно добавить только компонент и систему для нового класса.
К сожалению, не все так просто. Компоненты должны еще и взаимодействовать.

innuendo
> Это классика.
Ты имеешь в виду RenderScene(mesh, terrain, effect)->Renderer(render_op)->GAPI?

#109
21:11, 1 мая 2016

Ataman
> К сожалению, не все так просто. Компоненты должны еще и взаимодействовать.
Должны. Но у меня пока с этим не было проблем. Кому надо, тот взаимодействует. Каждая система может при инициализации вытянуть все необходимые компоненты из объекта.

#110
21:18, 1 мая 2016

Ataman
> Компоненты должны еще и взаимодействовать.
Например?

#111
21:21, 1 мая 2016

Delfigamer
Эээ... Например, движение коллайдера должно двигать модель.

#112
21:52, 1 мая 2016

Конкретно эта задача не требует взаимодействия компонентов. В том же UE4 SceneComponents образуют дерево, у которого корень=положение актёра (то есть он и без этого в особом положении), а положения детей задаются относительно родителя. Соответственно, если модель поставить под коллайдером, то она будет следовать за ним. При этом взаимодействия между BoxComponent и StaticMeshComponent не происходит.
Ещё примеры?

#113
21:55, 1 мая 2016

Delfigamer
> Конкретно эта задача не требует взаимодействия компонентов
Только в такой архитектуре, в которой положение является чем-то особенным.

#114
21:57, 1 мая 2016

А в какой оно не является?

#115
22:04, 1 мая 2016

Delfigamer
А почему должно, кстати? Положение объекта - такие же данные, как и все остальное.

Но это часто удобно, согласен..

#116
22:10, 1 мая 2016

Ataman
> Ты имеешь в виду RenderScene(mesh, terrain, effect)->Renderer(render_op)->GAPI?

Ну я имел ввиду классический паттерн Visitor

вот так
RenderScene(mesh, terrain, effect)->Renderer(renderScene)->GAPI

#117
22:14, 1 мая 2016

Delfigamer
> Ещё примеры?

USkinnedMeshComponent работает не только с графикой, но и с физикой - ragdoll


> олжны. Но у меня пока с этим не было проблем. Кому надо, тот взаимодействует

Как они взаимодействую, если компоненты это пассивные данные (по сути хранится только некий ID ) ?

#118
22:51, 1 мая 2016

innuendo
> Как они взаимодействую, если компоненты это пассивные данные (по сути хранится
> только некий ID ) ?
Я же чуть дальше написал.
Если системе для работы нужны какие-то компоненты, она их берёт. Ключевой компонент, на который система подписана, она получает безусловно.
Под взаимодействием компонентов я подразумеваю совокупную обработку их данных в одной системе.

#119
23:19, 1 мая 2016

innuendo
> USkinnedMeshComponent работает не только с графикой, но и с физикой - ragdoll
Но "физика" это не другой компонент, это отдельная подсистема.
Точно так же можно сказать, что и все меши друг с другом взаимодействуют, потому что перекрываются Z-буфером.

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

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