chrb121 发表于 2018-11-5 15:47:05

谁用过GetHitProxy(int32 X,int32 Y)

我想用编辑器点击物体的方式做鼠标点击,查了下引擎里是调了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”,而不是空的

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了解也不多,求解答:D

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
页: [1]
查看完整版本: 谁用过GetHitProxy(int32 X,int32 Y)