楔子
在孪生的场景中,点击三维对象是常用的操作。比如点击模型显示相关属性和图片,点击摄像头模型播放视频,点击楼宇展开楼层等等。
因此点选模型是属于数字孪生最必要的基础能力。
准备知识
UE蓝图介绍
本文会涉及到一些蓝图的知识,如果你对蓝图不了解,需要先了解下UE的蓝图知识。蓝图 是虚幻引擎4的可视化脚本方法。也就是说,通常要通过编写脚本来完成的任务,现在可以通过一个由节点和连接组成的图形来创建,而不必输出任何实际的代码。
蓝图相关的基础知识,可以参考官方文档。
https://docs.unrealengine.com/4.27/zh-CN/ProgrammingAndScripting/Blueprints/
https://docs.unrealengine.com/4.27/zh-CN/Resources/Showcases/BlueprintExamples/
后续也会写相关的文章介绍蓝图知识。
数学理论
UE鼠标点选模型的技术理论是大致这样的:
-
获取鼠标点击的位置和方向(涉及到鼠标位置转换到三维空间坐标,可以设置内置方法获取)
-
通过位置和方向发射一条射线。
-
判断射线和哪些对象进行相交(可以使用内置的方法获取),取最近相交的模型,就是鼠标点击获取的三维对象。
如果熟悉threejs,就知道这有点类似Threejs的raycaster。
重载Pawn
我们的蓝图在一个重载的Pawn类里面实现,Pawn 是可那些由玩家或 AI 控制的所有 Actor 的基类。Pawn 是玩家或 AI 实体在游戏场景中的具化体现。这说明, Pawn 不仅决定了玩家或 AI 实体的外观效果,还决定了它们如何与场景进行碰撞以及其他物理交互。某些游戏可能在游戏中没有可见的玩家模型或替身

最低0.47元/天 解锁文章
7170

被折叠的 条评论
为什么被折叠?



