一、先附上UE官方有关坐标空间的介绍:坐标空间术语
二、在C++中进行坐标转化,直接附上代码:文章来源地址https://www.toymoban.com/news/detail-550459.html
FMinimalViewInfo MinimalViewInfo = FMinimalViewInfo();//实例化一个视野信息(FMinimalViewInfo),配置以下参数给它
MinimalViewInfo.Location = 相机位置信息;
MinimalViewInfo.Rotation = 相机旋转信息;
MinimalViewInfo.FOV = 相机的FOV;
MinimalViewInfo.DesiredFOV = 相机的FOV;
MinimalViewInfo.AspectRatio = 相机横纵比;
FMatrix ViewMatrix;
FMatrix ProjectionMatrix;
FMatrix ViewProjectionMatrix;
//得到了三个转化矩阵
//ViewMatrix:从世界空间转化到摄像机空间的矩阵
//ProjectionMatrix:从摄像机空间转化到裁剪空间的矩阵
//ViewProjectionMatrix: 从世界空间转化到裁剪空间的矩阵,即以上两个矩阵相乘
UGameplayStatics::GetViewProjectionMatrix(MinimalViewInfo, ViewMatrix, ProjectionMatrix, ViewProjectionMatrix);
//得到各个转化矩阵后就可以利用矩阵变换点或者向量了:
FVector PosInViewSpace = ViewMatrix.TransformPosition("你想变换的坐标") ;
FVector VecInViewSpace = ViewMatrix.TransformVector("你想变换的向量");
文章来源:https://www.toymoban.com/news/detail-550459.html
到了这里,关于UE5 坐标转化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!