Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 1
На протяжении нескольких дней пытаюсь получить изображения с внутриигровых камер (нескольких одновременно) никак не получается. На данный момент пытаюсь реализовать чужой код, но без идей почему выдает ошибки. Подскажите пожалуйста, в чем может быть проблема(самые простые и глупые вещи, как подключения библиотек вполне могут быть причиной).
Код:
Код:
ACam1::ACam1()
{
    // Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
   PrimaryActorTick.bCanEverTick = true;

   USceneCaptureComponent2D* sceneCaptureActor = (USceneCaptureComponent2D*)GetWorld()->SpawnActor<USceneCaptureComponent2D>(USceneCaptureComponent2D::StaticClass());
   UTextureRenderTarget2D* TextureRenderTarget = (UTextureRenderTarget2D*)NewObject<UTextureRenderTarget2D>(sceneCaptureActor);
   sceneCaptureActor->TextureTarget = TextureRenderTarget;

   // Creates Texture2D to store TextureRenderTarget content
   UTexture2D* Texture = UTexture2D::CreateTransient(TextureRenderTarget->SizeX, TextureRenderTarget->SizeY, PF_B8G8R8A8);
#if WITH_EDITORONLY_DATA
   Texture->MipGenSettings = TMGS_NoMipmaps;
#endif
   Texture->SRGB = TextureRenderTarget->SRGB;

   // Read the pixels from the RenderTarget and store them in a FColor array
   TArray<FColor> SurfData;
   FRenderTarget* RenderTarget = TextureRenderTarget->GameThread_GetRenderTargetResource();
   RenderTarget->ReadPixels(SurfData);

   // Lock and copies the data between the textures
   void* TextureData = Texture->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
   const int32 TextureDataSize = SurfData.Num() * 4;
   FMemory::Memcpy(TextureData, SurfData.GetData(), TextureDataSize);
   Texture->PlatformData->Mips[0].BulkData.Unlock();
   // Apply Texture changes to GPU memory
   Texture->UpdateResource();
}

Ошибки:
Код:
(USceneCaptureComponent2D::StaticClass()) //Недопустимы неполный тип

(UTextureRenderTarget2D*)NewObject<UTextureRenderTarget2D>(sceneCaptureActor) //Отсутствуют экземпляры перегруженная функция, соответствующие списку аргументов типы аргументов: (USceneCaptureComponent2D *)

sceneCaptureActor->TextureTarget // использование указателя на тип неполного класса не допускается
Аватара пользователя
Пользователь
Сообщения: 195
нельзя спавнить компоненты, только актёров!!!компоненты надо так
MeshComponent = CreateDefaultSubobject< UStaticMeshComponent >( TEXT( "MeshComponent" ) );


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница