基于虚幻引擎进行智能机房系统的开发日记:No.1 全球微速讯
【资料图】
在一开始先声明下,我不是搞IT的,纯纯的土木狗一只,后因兴趣使然自学BIM技术后进入相关部门工作,C++、Blender、SDSP和虚幻引擎这这些七七八八都是后面自学的,因为时间有限涉猎又广肯定不能说都精通。这些日志是记录本人在开发过程中遇到的一些问题,在查阅资料并试验后总结的一些解决办法(偏向c++)。主要用自身记忆,还有一小部分是希望能为有同样问题的人提供一些解决思路。当然,这些问题的解决办法肯定不是最好的,因此有人有更好的解决办法的话,欢迎在评论区告知,在这我提前说声谢谢了。
我也是一些技术大佬教程视频、技术文章的受益者,我能走上独自开发的道路离不开他们无私的技术知识分享,学成的我也希望能为他人留下一点养料。
在做智能运维系统信息展示的时候,作为三维可视化主体的模型是必不可少的,用户肯定希望能对模型进行全方位的观察,因此视角的旋转、缩放、切换这些功能是必不可少的。作为交互的主要模型我们肯定是作为动态网格设置的,一般会采用创建actor的形式将其拖入关卡中,但此时我们会发现在Actor类中创建的Camera是组件形式,我们在使用Set View Target With Blend时会报错并提示目标需要为Actor*类,因此我们如果想將多个摄像机设置在模型主体的Actor中是无法实现摄像机之间的切换的。并且我们在设置视角旋转时,由于Actor无控制器相关功能,因此无法调用AddControllerYawInput这类函数,需要自己绑定按键事件,并实现相应被绑定的函数。这里说道控制器,那我们会想到Pawn和Character类,他们是继承自Actor类并具有控制器相关功能的类,在这里我们采用將主要模型作为Pawn类设置,因为Character类还具有MovementComponent主要用于人性骨骼网格控制的。
使用Pawn我们不仅能直接在按键绑定过程中调用AddControllerYawInput这类函数(注意要勾选SpringArmComponent中的Use Pawn Controller Rotation)旋转控制视角,还能通过Posess和Set View Target With Blend实现主体模型Pawn和关卡中独立设置的摄像机之间的视角切换,关卡蓝图如下:
上面使用Unpossess是为了在切换视角后禁止对模型pawn继续进行操作,后面接了个delay是因为如果不加延迟直连会造成只禁用控制但不切换到第一个视角的情况(这里我也搞清楚根本原因)。最后如果你想继续平滑过渡回Pawn,可以先Set View Target With Blend(pawn作为目标)后再possess pawn重新获得对pawn中相机的控制。
关键词:
相关阅读
- 06-14
最近更新
- 06-14
- 06-14
- 06-14
- 06-14