需要从 UGameViewportClient 类继承
修改返回值为true
,路径:\Source\Runtime\Engine\Private\GameViewportClient.h
|
|
在FViewportClient类中新建DrawHitProxy函数
文件UnrealClient.h
在GameViewportClient类中声明并且实现
声明:\Source\Runtime\Engine\Private\GameViewportClient.h
将GameViewportClient
类中的函数Draw()
内容复制到该函数DrawHitProxy
,修改下面的的地方:
修改FViewport类中的GetRawHitProxyData函数
在GetRawHitProxyData
函数中进行以下的修改:Engine\Source\Runtime\Engine\Private\UnrealClient.cpp
调用–获取屏幕坐标Hitproxy
相关类型
HHitProxy:用于检测用户界面命中的基类
FHitProxyMap:从2D坐标到缓存命中代理的地图。
参考:
- How to select an actor in-game using GetHitProxy?
- UE4 编辑器的光标拾取
- 编辑器Viewport窗口中的鼠标拾取原理
- 场景基本对象
- 渲染总流程
- https://docs.unrealengine.com/zh-CN/Programming/Rendering/MeshDrawingPipeline/index.html
- Unreal Mesh Drawing源码分析
- 白袍笑道