谁用过GetHitProxy(int32 X,int32 Y)

[复制链接]
查看4169 | 回复5 | 2018-11-5 15:47:05 | 显示全部楼层 |阅读模式
我想用编辑器点击物体的方式做鼠标点击,查了下引擎里是调了HHitProxy* FViewport::GetHitProxy(int32 X,int32 Y)这个函数,但我直接用好像不对


    AActor* UVictoryBPFunctionLibrary::GetViewportHit(const APlayerController * ThePC,int X, int Y)

    {


            if (!ThePC) return nullptr;

            FViewport * VictoryViewport = ThePC->GetWorld()->GetGameViewport()->Viewport;

            if (!VictoryViewport) return nullptr;

            VictoryViewport->InvalidateHitProxy();

            HHitProxy* HitProxy = VictoryViewport->GetHitProxy(X, Y);

            HActor* ActorHitProxy = (HActor*)HitProxy;

            if (!ActorHitProxy) return nullptr;

            AActor* ConsideredActor = ActorHitProxy->Actor;

            return ConsideredActor;

    }

    函数在这,返回很奇葩 蓝图里打印一直是“Brush1”,而不是空的

    QQ图片20181105151200.png


mknmknmk | 2018-11-7 21:10:38 | 显示全部楼层
http://www.acros.me/c/unreal-engine-4-编辑器的光标拾取(cursor-query)功能小记/
回复 支持 反对

使用道具 举报

JURUI12345 | 2018-11-8 09:40:50 | 显示全部楼层
mknmknmk 发表于 2018-11-7 21:10
http://www.acros.me/c/unreal-engine-4-编辑器的光标拾取(cursor-query)功能小记/

大佬给力!
回复 支持 反对

使用道具 举报

mknmknmk | 2018-11-8 15:56:42 | 显示全部楼层
https://zhuanlan.zhihu.com/p/24333182
回复 支持 反对

使用道具 举报

chrb121 | 2018-11-9 14:21:48 | 显示全部楼层
mknmknmk 发表于 2018-11-8 15:56
https://zhuanlan.zhihu.com/p/24333182

两篇都看了,但还没解决,里边讲了hitproxy的原理和设置,我的问题是获取不对,按理说视口里所有actor应该默认都支持hitproxy才对吧,hitproxy了解也不多,求解答
回复 支持 反对

使用道具 举报

mknmknmk | 2018-11-13 08:35:11 | 显示全部楼层
https://forums.unrealengine.com/development-discussion/c-gameplay-programming/37946-how-to-select-an-actor-in-game-using-gethitproxy
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2

主题

30

回帖

1024

积分

中阶编码师

积分
1024