UKismetMathLibrary::Convert1DTo2D
#include "Kismet/KismetMathLibrary.h"
Access: public
Specifiers: staticUFUNCTIONBlueprintPure
Description
Maps a flat 1D array index to its equivalent (X, Y) coordinate in a row-major 2D array of the given width, e.g. for reading a flattened grid or tile map array.
Caveats & Gotchas
- • Assumes row-major layout (X varies fastest); if your data is stored column-major, X and Y in the result will be swapped relative to your storage.
- • No bounds checking is performed — passing an Index1D beyond XSize * YSize of your actual array still returns a computed FIntPoint, it just won't correspond to a valid element.
- • XSize of 0 will divide by zero internally; guard against it if XSize is computed dynamically.
Signature
static FIntPoint Convert1DTo2D(int32 Index1D, int32 XSize) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| Index1D | int32 | The flat array index to convert. | — |
| XSize | int32 | Width (X dimension) of the logical 2D array. | — |
Return Type
FIntPoint Example
Convert a flat tile array index to grid coordinates C++
int32 FlatIndex = 47;
int32 GridWidth = 10;
FIntPoint GridCoord = UKismetMathLibrary::Convert1DTo2D(FlatIndex, GridWidth);
// GridCoord = (7, 4) Tags
Version History
Introduced in: unknown
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?