Download

Determining "wall", "floor" and "ceiling" based on a slope angle and direction of normals?

Heh, yeah i was figuring it wouldn’t be clear, so i edited it out, but you’ve read that before i changed my post…

What i wanted to say is the setup like here, if you want to see it visually.

Just wanted to give some general direction and for specifics use the various documentation resources.

Oh, and i’m just learning still too :slight_smile:

Here is another though - is there a way to place some kind of volume that doesn’t do anything except used to determine whether hit is inside that volume or not ?

This way I can place such volumes where I need to (since I determine where it’s suitable to place them, I don’t need to check where it’s a ceiling or floor or slope) and simplify logic. Unless there is no way to have such volume and no way to check if the trace hit coordinates are inside said volume :confused:

There is. Make a BP containing thr volume and logic that detects overlap with a specific actor/scene component. Spawn said actor/component at the end of your trace. Use the on overlap trigger to see if its overlapping.

Optimize spawning as necessary.

What kind of volume should it be? All volumes that are available are there for specific functionality. I wish there was some “custom volume” that is just a blank volume, without any specific functionality.

Or should I just model a static mesh to cover the areas needed and make it act as “volume” ? If so, how would I make static mesh to be a volume which I can detect overlap with using conventional methods?

I’ve always just used the collision boxes and coded behavior according to what i needed it for (typically spawning volumes for my projects). If you need the thing in a very specific shape though, then maybe you can build your own.

Aye, I see.

Maybe it’s going to sound as a dumb question, but I am not sure where I need to make new BP class for this or shove it into player’s controller ? (I assume new class, but how do I make game use it ?)

Alright, I got my phasing (blink) locomotion working:

Now I need to limit player to where (s)he can and can not go. Initially I thought of making a mesh in Blender that covers floor (or anything else) where player can teleport to, make it invisible and do collision filtering. Now I think I’d want to have something I can easily reconfigure inside the Editor, and such pre-made mesh doesn’t seems to be an appealing approach any longer.

What I am thinking now is to place overlapping trigger volumes in the areas I want player to be able to navigate to, and check if trace hit is inside those volumes. I am thinking since I have an actor at the end of the trace, I could just do the check for that actor, but I am wondering if there is a better way ?

Also wondering how to I check for “being inside” since there are only begin overlap and end overlap events :confused:

Another question is how to detect that I am hitting an Actor (or component), so I won’t be able to teleport on top of those (unless it’s an actor that makes up level geometry). I know there is Hit Actor in Break Hit Results, but I wonder if I can tag actors and check for a tag or something (like “world” tag, which would mean it’s ok to teleport on that Actor/Component)

Thanks beforehand

Gosh, the post got buried pretty quickly :confused:

Any advise, folks?

Alright, so apparently the only way to get trigger volumes to work is by having event begin overlap in level’s BP and do various castings in order to get what I need (and somehow it didn’t really work anyway).

At this moment I opted to use static meshes to define walkable areas and added tag to those meshes. So when I get a hit and actor returns appropriate tag, player can go there. Not too convenient, since I can’t really work with it in the Editor, but I couldn’t figure out any other way yet :confused: Open for suggestions.

Just had a similar if not the same issue. I was doing a line trace with vive controllers. My line trace was never sending FALSE because I didn’t realize I was hitting all the walls and floor. The ANSWER in Unreal 4.11 was to select all my wall meshes in the World Outliner >> Details >> Collision >> Collision Presets >> InvisibleWallDynamic. Hope this helps others.