UE4中若何获取camera的画面数据?

  

Hello!众人好,我是纸扎戏偶,UE4是咱们动画计划事业中通常要用到的软件之一,即日咱们来分享一下“UE4中怎么获取camera的画面数据?”这篇著作,置信有许众小伙伴都市了,然而照样有不会的新手小伙伴,下面小编就来分享一下吧!

  

  用具/软件

配置型号:Redmi G逛戏本 2021 锐龙版

  

操作编制:Windows7

  

利用软件:UE4

  环节/教程第1步

默认的UE4会以AGameMode中树立DefaultPawnClass对象中影相机行为默认影相机。有期间咱们念要一个整体的影相机对场景实行调查,这就必要从新创修一个影相机,并正在这两个影相机直接切换。下面看下UE4中怎么达成切换默认Camera。

  

  第2步

正在APlayerController类中,有一个SetViewTarget设施,参数是一个AActor指针,即是达成此功效的。由于参数务必是AActor,即务必是AActor中包罗的Camera组件才有用,全盘,先创修一个AActor对象。

  

  第3步

ChangeViewTarget()设施供应给Blueprint移用,用于正在Character的Camera和FreeCamera之间切换。

  

  第4步

其次正在源文献CamData.cpp参与

  

UTexture2D* UCamData::VideoTexture()

  

{

  

UsbCamera >> frame;

  

UTexture2D* TextureRed = NULL;

  

for (int x = 0; x<VideoFrameSize.X; x++)// 640

  

{

  

for (int y = 0; y<VideoFrameSize.Y; y++)// 480

  

{

  

int i = x + (y * VideoFrameSize.X);

  

Data[i] = FColor(

  

frame.data[i * 3 + 2],

  

frame.data[i * 3 + 1],

  

frame.data[i * 3 + 0],

  

255

  

);

  

}

  

}

  

TextureRed = UTexture2D::CreateTransient((int32)VideoFrameSize.X,(int32)VideoFrameSize.Y, PF_B8G8R8A8); //创修纹理

  

void* TextureData = TextureRed->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE); //锁定纹理

  

FMemory::Memcpy(TextureData, Data.GetData(), Data.Num());

  

TextureRed->PlatformData->Mips[0].BulkData.Unlock(); //解锁纹理

  

TextureRed->UpdateResource(); //更新纹理

  

  第5步

正在Editor中创修一个从AFreeCameraActor担当的Actor,并拖放参与景中去。可能看到一个包罗了影相机的对象。然后编辑Level Blueprint,参与剧本代码

  

  第6步

好了,以上即是小编即日带给众人的著作,期望对诸君网友有所助助。

  

发表评论

表情:
验证码
评论列表 (暂无评论,444人围观)

还没有评论,来说两句吧...