x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Is there any way to call the KismetTraceUtils directly?

I have to do multiple line traces to different points using largely the same values. I was originally planning on using

 UKismetSystemLibrary::LineTraceSingleForObjects(..... 

but I would ideally like to cache the values generated in the function

 FCollisionQueryParams Params = ConfigureCollisionParams(LineTraceSingleName, bTraceComplex, ActorsToIgnore, bIgnoreSelf, WorldContextObject);

and

 FCollisionObjectQueryParams ObjectParams = ConfigureCollisionObjectParams(ObjectTypes);

But these use functions defined in KismetTraceUtils.h and from what I see, the header is private with no way of including it unlike the KismetSystemLibrary.

Is there some include I am missing or do I just have to copy those 2 functions into my own code base to use them?

Thanks in advance

Product Version: UE 4.16
Tags:
more ▼

asked Sep 23 '17 at 04:47 PM in C++ Programming

avatar image

plockhart
65 5 11 17

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

If class have "Kismet" in name it means those are only wrappers of C++ APIs for blueprints as for some reason they can't be binded direcly. You should search for original function, you cna do so by searching same names in API refrance or looking on code of kismet functions. As you already notice some of blueprint bindings are under minimal API and they can't be called from outside modules, it to reduce linking time during compilation as Epic assumes you gonna use original function not blueprint bindings

The original trace and sweep function are in UWorld which you can access from GetWorld() from any actor

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UWorld/index.html https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UWorld/LineTraceSingleByObjectType/index.html

Btw "Kismet" or K2 means blueprint, it a old name for old node system in UE3 and blueprints supposly be named Kismet 2.0 but during devlopment of UE4 they changed the name thats why lot of blueprint related code still has Kismet in names

more ▼

answered Sep 23 '17 at 06:36 PM

avatar image

Shadowriver
37.8k 937 172 1123

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question