UE 蓝图上帝视角
UE5蓝图实现相机上帝视角控制,包括绕点旋转,水平平移,远近缩放
实现效果
绕点旋转
水平平移
实现功能
- 左键鼠标平移(相对于场景水平面平移)
- 右键绕点旋转
- 中间键视角前后移动(可以理解成缩放)
实现逻辑
- 射线
相机对地面发射射线,返回hit点和到hit点的距离。
考虑到有可能得不到碰撞点,使用相机的高度和相机的角度模拟与地平线的碰撞点。
- 平移
利用Camera和水平面的夹角,计算出水平方向的向量,从而实现场景水平面的平移;利用射线返回相机到hit点的长度,从而控制相机的移动速度。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m0WroDbY-1677818341832)(null)]
- 绕点旋转
绕点旋转分为两个部分,相机的旋转和相机的位移。旋转通过MouseY和MouseX累加相机自身的Y(Pitch)和Z(Yaw)值实现自身旋转;位移利用射线返回相机hit点
- 前后移动
前后移动比较简单,可以直接得到相机的ForWard方法。
详情可见unity Camera控制(上帝视角)
其他的控制项
一些用到的变量
控制键的赋值
主要控制
获得相机
3)]
主要控制
[外链图片转存中…(img-1q4ZrnLn-1677818341473)]
获得相机