Вы можете использовать функцию сериализации для создания байтового массива или выходного потока в зависимости от того, используете ли вы Android или Android NDK.
Для NDK:
void ArAugmentedImageDatabase_serialize(
const ArSession *session,
const ArAugmentedImageDatabase *augmented_image_database,
uint8_t **out_image_database_raw_bytes,
int64_t *out_image_database_raw_bytes_size
)
Для Android:
public void serialize (OutputStream outputStream)
Для Unity: сначала вам нужно импортировать изображение, а в настройках импорта вы должны установить флажок «Чтение / запись включен».Затем вы должны конвертировать изображение в RGBA32 или RGB24.Потому что ARCore поддерживает только эти два формата.
Texture2D empty = new Texture2D(ImportedImage.width,ImportedImage.height, TextureFormat.RGBA32, false);
empty.SetPixels(ImportedImage.GetPixels());
empty.Apply();
Затем вы можете использовать databaseTest.AddImage("first",empty);
Однако эта база данных должна использоваться в вашем поле базы данных дополненных изображений ARCoreSessionConfig, например:
В противном случае приложение зависает, я не уверен, почему.Удачи!