Download

Complex vs regular scene queries difference. Which one does what ?

Hey, there are two concepts of **scene queries **in UE4: **regular **and **complex **(according to documentation).

But I couldn’t find really a description what’s the real difference ? what do they do ?

Maybe simple are: queries (so I guess hit query, raycasts, overlaps, sweeps etc.)
Complex: Physics ?

In picture are some bits of info from docs/engine descr.:


PhysX User Guide by Nvidia gives some hints:
Basic queries: Raycasts, Sweeps, Overlaps
https://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/SceneQueries.html

Can some more experienced ue4 dev shed some light ?

https://docs.unrealengine.com/en-US/…lex/index.html

Complex is more accurate, costs more, and cannot be used for physically simulated bodies

Thanks for reply but You missed my point: im talking about queries types, not collision hulls like boxes, trimesh etc. Hulls are straight forward.
But which queries are considered complex and which regular?
Anyone else plz ?

Sorry - when you issue the query you select the type of query in FCollisionQueryParams.

This determines whether to collide against the simple or complex collision bodies.

eg When calling LineTraceSingleByChannel you pass a struct for **FCollisionQueryParams which contains a value for **bTraceComplex.

After re-reading your question - wanted to elaborate further. All bodies exist in the same scene. A body has collision shapes attached to it. These collision shapes can be simple or complex. You can configure the query (linetrace) to collide against (simple or complex) shapes.

@OptimisticMonkey thanks a lot ! :slight_smile:
I saw You were also active in this topic:
https://forums.unrealengine.com/deve…-is-line-trace
I’d like to ask You then also, do You have any recommendations on to when to use bTraceComplex ?
For which traces / use scenarios would be it best since it is more expensive in terms of performance ? whats the best tradeoffs in short :slight_smile: