1 Востаннє редагувалося 77kruk11 (12.03.2023 15:25:15)

Тема: Допоможіть з масивами в UE4

Вітаю спільното. Працюю над процедурним мешем в UE4, зіштовхнувся з задачею яку не можу вирішити, прошу допомоги.
Є клас А в якому є масив TArray<FVector>Vertex;
Є клас B в якому є масив TArray<FVector>MyVertex;

Задача в масиві Vertex об'єкта класа А 42 значення, додані через .Add циклом,
треба щоб з 0 по 20 скопіювалися в об'єкт B1 класу B, а з 21 по 42 в об'єкт B2 класу B.
Причому за адресою, так що б якщо ми наприклад змінюємо MyVertec[2] в B2 то і Vertex[24] теж змінився.

Сльозно прошу допомоги бо взагалі пічаль(((

2

Re: Допоможіть з масивами в UE4

Це ж просто плюси, так?
Значить, "за адресою" означає, що в масивах має бути саме адреса, тобто покажчик. FVector*. Ну, або ж TArray<FVector>*. Всі передачі за адресою чи значенням в C++ більш-менш явні. Причому, якщо ви не використовуєте розумні покажчики на кшталт shared_ptr, то вам доведеться самому відстежувати, щоб посилання на знищені об'єкти не були запитані.
А звідки така задача? Чому за зміну однієї сутності відповідають два об'єкти? Як ці об'єкти співвідносяться і взаємодіють?

Подякували: Chemist-i1

3 Востаннє редагувалося 77kruk11 (13.03.2023 23:12:21)

Re: Допоможіть з масивами в UE4

Дякую, розібрався. Виною всьому була звичайна неуважність.)))

Роблю гру на UE4. Щось подібне до OldWorld або Civilization. Але хочу реалізувати деякі механікі стосовно ландшафту. Задача така виникла з того що ігрову мапу створюю як єдиний процедурний меш, адреси вершин якого передаю в гекс елементи, а вже потім черег гекс керую окремими вершинами які йому належать.
Таким чином в кожному гексі є масив вершин, адреси яких є спільними з процедурним мешем мапи.