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步
好了,以上即是小编即日带给众人的著作,期望对诸君网友有所助助。
还没有评论,来说两句吧...