How to mouse click on both sides of a double sided texture?

I have a spectator object. If I left click on the front of a double sided textured plane. It will work. On back, I can see the texture, so my double sided texture plane is working, but if I click on the back of this texture my blue print code does not get called. Only when I click on the front of the texture object will my blue print code get called. Is there a simple fix for this?

If I click on front, a transform widget appears, and I can move my double sided textures around the area.

If I click on the back of my double sided textures, nothing happens.

In editor, an object is an object.
If you use an engine plane and gave it a custom material, you will be able to click it and select it no matter where you click from.

If you did anything else, then you probably did something incorrectly.

Going by your terminology you are fairly new to the whole process and the engine, so take your time, play around, look at tutorials on the learning section.

Go to static mesh tab, double click on selected mesh. New window will open. There, go to details. Scroll down to collision. Find collision Complexity, change it to Use Simple Collision As Complex.

I should have clarified one thing, the transform gizmo is a RUNTIME transform gizmo…selecting is not an issue inside the editor. I was referring to having the problem at runtime.

Use Simple Collision As Complex.
This fixed problem, thx!
(although it was hard to find where this property was…)

image

For a plane you’d need this.

1 Like

Thanks for info!
Is one method more optimal than the other?
Or is either method ok?
(simple as complex solution VS Double sided geometry)

Probably as irrelevant as it is unmeasurable in this instance. That’s until you do need Complex Collision for polygon tracing and fetching material indexes.

Simple Collision As Complex

I think that it working for this is a side effect. I am actually baffled by this setting sorting this out. Time to dig deeper:

To figure this one out. @Shunitzo Thanks!

Wait a second…
Are you saying that even though “simple as complex” method works, it is not correct way to do it?

Simple versus Complex Collision | Unreal Engine Documentation.

No mention of the planes.

I’ve gone to engine plane mesh. Enabled simple collision, selected it and scaled it. It is in fact a cube hull scaled down.

I reckon that Double Sided Geometry switch is there for a reason. If you do not need complex collision, it probably does not matter what you use.

engine plane mesh

Is a scaled down box? Really. Remind me not to use it. Why would clicking on the other side not work then, if it’s not a plane to start with.

No idea.

Maybe it’s forced to use complex?
Is one sided plane collision more complex and heavier to compute than a 6 sided box?

Hes talking about the collision.
The collision is always a hull. You can’t have it any other way AFAIK (from engine docs anyway).
A scaled cube is the cheapest form of collision avaliable to a plane.

Engine plane:

image

  • remove any and all simple collision from it, no more hull
  • use complex collision as simple, we’ll use every triangle instead which is 2 tri only, yay!
  • enable dual sided geometry, still 2 tri

Now you have a 2 triangle plane with double sided collision. Whether it’s faster than a box is arguable, but I wouldn’t argue as I have no clue. There might be optimisations here I’m not aware of. When you take it closer to the metal, though, colliding against a single poly is faster than against 6.


I feel the engine obfuscates things a bit. In UE physics sims (for example) does not allow for per triangle collision out of the box. You’d need to import your own collision and then use Complex as Simple - it works well enough. I guess the limitation is here to prevent people from having overly complex simulating meshes.

You can, of course, collide against complex geo with ease.


So yeah, I kind of want to say that double sided geometry trace with complex collision instead of box hull will be faster. Anyone wants to set up a test?

Made a simple test:

4608 planes. 2 mesh tipes: Simple as Complex and Complex as Simple.

Code in lvl BP:

Tipe 1. Simple as Complex.
Double Side: Off.
Complex trace: On.

Spikes(in ms):
1: 59.1
2: 58.4
3: 59.4
4: 58.6
5: 58.3

Tipe 2. Complex as Simple.
Double Side: On.
Complex trace: Off.

Spikes(in ms):
1: 60.4
2: 65.5
3: 61.8
4: 69.8
5: 61.4

1 Like

Almost?
Line trace is non physical.
You should run the test with touch simulation - such as having each plane slam into the other domino like.

That will tell you if physics are affected in any dofferent eay between 2 tris as complex and 1 cube as simple.

If we are taking bets, I’m betting the cube primitive will run a ton faster.

Additionally, anyone can safely bet that a domino like plane scenario will become unusable with chaos after around XxX instances.

My guess is around 400 bodies (unusable = sub 30fps at 4k native limited by CPU).

Ehile physx would survive to around 1500 or so.

512 planes.

Simple as Complex.
Double Side: Off.

2 tris made in Blender using UCX
Double Side: On.

Hard to spot the difference.

2 Likes

Technically you should not be doing this from PIE to get anything meaningful.

either way I think most planes manage to stop simulating well before the rest of them fall out. Either that or chaos got a little better than I predicted over time (which is probably really just wishful thinking).

And, the margin of difference is probably as little as it is for the line-trace apparently. Which is actually better than I ever thought possible in unreal :stuck_out_tongue: