Thanks Phil, I appreciate the response.
I the first part of your response gives me some confidence that I was on the right track with a snippet from this link…
Multi Dimensional Arrays
To make a 2 or higher dimensional array,
wrap the array in a UStruct, and then make an Array of the UStructs.
.H
USTRUCT()
struct FBMPImageData
{
GENERATED_USTRUCT_BODY()
UPROPERTY()
TArray<FBMPStruct> BMPWidth;
FBMPImageData()
{
}
};
//All BMP Pixels High
TArray<FBMPImageData> BMPHeight;
.CPP
//Is there at least 1 pixel of height?
if(BMPHeight.Num() > 0)
{
//Display the RGB value of a pixel at y0,x0
ClientMessage(FString::FromInt(BMPHeight[0].BMPWidth[2].BMPRGBValue[0]));
ClientMessage(FString::FromInt(BMPHeight[0].BMPWidth[2].BMPRGBValue[1]));
ClientMessage(FString::FromInt(BMPHeight[0].BMPWidth[2].BMPRGBValue[2]));
}
In their example they are using fields,flowers and petals, where petals is clearly the value in a 2D array. I’m unsure how to expand
TArray BMPWidth; to add BMPRGBValue.
Keeping the 3D array and having it as a class member variable rather than locally scoped, then accessing the data through UFUNCTIONS that are exposed to blueprints sounds like an interesting idea but one that is out of my current ability. If this is the better option though I will get learning.
The ultimate aim is to be able to get the individual r,g,b values based upon their x,y in the array from blueprint that goes through all x,y’s from 0,0 to e.g 2047,2047 (i.e image resolution)