【UE虚幻引擎】 PC端鼠标拖拽旋转缩放物体和摄像机(含工程源码)

一、参考学习链接

1、https://tjgzs.blog.csdn.net/article/details/126262285?spm=1001.2014.3001.5502
2、https://blog.csdn.net/qq_43021038/article/details/127994992#comments_24355996

二、蓝图逻辑思维导图

三、项目设置

1、GameMode设置

在这里插入图片描述

2、PlayerController设置

3、世界场景设置

4、设置BP_MouseCtrl_Pawn为PlayerController0

5、给BP_MouseCtrl_Pawn添加弹簧臂和摄像机组件,并设置弹簧臂长度和将进行碰撞测试选项取消勾选。


6、给Actor_LL_Cube蓝图类添加Cube组件和NameText组件


将Cube(我自己创建的静态网格体)设置为可移动属性

四、蓝图类展示及解析

1、Actor_LL_Cube蓝图类的事件图表

在这里插入图片描述

(1)这里因为PlayerController0是BP_MouseCtrl_Pawn,所以这里获取鼠标左右键是否按下,以及鼠标X,Y轴,滚轮轴的数值都是获取的BP_MouseCtrl_Pawn的值,所以需要Actor_LL_Cube类和BP_MouseCtrl_Pawn蓝图类相互通信,此处用的直接暴露通信。

(2)Actor_LL_Cube的构造函数

在这里插入图片描述

(3)Actor_LL_Cube的旋转函数

(4)Actor_LL_Cube的鼠标拖拽函数

(5)Actor_LL_Cube的滚轮缩放函数

2、BP_MouseCtrl_Pawn蓝图类

(1)构造函数

(2)判断鼠标是否点击到Actor:这里的逻辑当鼠标只有点击了Actor_LL_Cube的类才会给HitActor赋值,点击其他的物体都给HitActor置空。而如果点击到空白处,也给HitActor置空,当HitActor==NULL时,则默认为操作摄像机,否则操作Actor

(3)旋转摄像机:即操作弹簧臂

(4)缩放镜头:即调整弹簧臂长度

(5)获取鼠标2D转3D的点和基于拖拽平面的交点

(6)事件图表

五、工程源码链接

链接:https://pan.baidu.com/s/1sZwfXBRRYOFjuY9-rImTMA
提取码:0wsb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溜吉放码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值