func_illusionary_visblocker still doesn't work as expected
Thanks for the fix of func_illusionary_visblocker,
That was really fast, major props.
But I'm really sorry, because after trying the artifact in which it was fixed, (and to honest, everything which I talked about was fixed) it still does not work as it did in v0.18.1 and thus how I personally expect it to work.
In v0.18.1 , when you give the func_illusionary_visblocker a visible texture, you should be able to see this visible texture from the inside. Whereas in 8038b73, you cannot see this texture. instead you always see the void when you're inside of this brush.
If you give different faces different textures, the texture on the outside basically also becomes that texture on the inside.
In v0.18.1 , when giving it a liquid texture, you can still walk through it, which isn't the case in 8038b73 (This is important because with a liquid texture, you can never see into the void even if you're on the bounding edge seeing partly the inside and partly the outside).
I really hope that it makes sense. Maybe you could test it on v0.18
Thanks for the detailed report, I think I got the remaining 2 issues:
- liquid brushes can be used
- it's forced to be 2 sided now (as if you use
_mirrorinside 1)
Very nice, that all works now.
However, my intended use-case, is that I have func_illusionary_visblocker inside of an func_detail_illusionary, in order to create a message box, which you can stand inside of, in order for the text to be readable, as my func_illusionary_visblocker uses a black texture.
In 1.18, you can put a func_illusionary_visblocker within a func_detail_illusionary and that works. Within the current version, it does not work.
I didn't know about the _mirrorinside, it's very cool.
I've messed a bit with func_detail_illusionary and func_illusionary_visblocker, and it seems like combining them both, causes them to join into 1 combined shape. Is it somehow possible to have them be seperate, so that if you put a func_detail_illusionary within another func_detail_illusionary (or with func_illusionary_visblocker or both), that you would see the 1 shape within the other shape?
And another question: Would it somehow be possible to have a func_detail_illusionary or func_illusionary_visblocker with just a textured inside? So no texture on the outside, but just on the inside?
I really appreciate you caring so much about this issue.
I had forgotten 1 more thing though, as you made it so that _mirrorinside is the default for func_illusionary_visblocker, would it be possible to make it so that if you set _mirrorinside 0, it disables it?
Thanks again.
It should still respect _mirrorinside, but if not, that should be easy to fix. Having a visblocker with only texture on the inside wouldn't make sense because the outside texture would be "void", but it can be done with a non-vis-blocking illusionary in theory (it could be used for interesting visual effects)
To be honest, I can just use a func_illusionary, which does seem to work. to solve the thing I wanted in the first place.
I should be able to fix:
- visblocker merging with detail_illusionary, this was an oversight
- _mirrorinside 0 not working on visblocker, also just an implementation shortcut I took, but expected to work. although it’s not advised to do this unless you’re controlling what’s drawn in the void (e.g. a custom game and not just a quake map), since the player will see the void when inside
regarding being able to layer multiple func detail illusionary’s inside each other and have them not clip away, we have a key for this, _noclipfaces 1. Should exist both in older builds as well as 2.0.0 alpha.
I think I fixed those two things in (edit) a0953767a2a203435fd3b157e56bc1a1a8720a44 + dfa164ffce1b415c04247533e3095b5501e04268
a few things to note:
-
I made
func_illusionary_visblockerhigher priority thanfunc_detail_illusionary, no particular reason for this choice other than this is consistent with what 0.18.1 did. The priority just comes into play when you have two volumes touching and determining which face "wins". -
The results are a bit weird when you have a
func_illusionary_visblockerwith_mirrorinside 0touching afunc_detail_illusionaryStanding inside the visblocker, you might expect to see the
func_detail_illusionarywall on one side and void on the other 3 sides. Instead you'll get void on all 4 sides. This is not specific to visblocker, but happens when a higher-pri contents with_mirrorinside 0is touching a lower-pri contents. I might change this later so for now it's "undefined behaviour".
Thanks :)
That seems to work, however, I did see a small difference visually. And I was wondering why.
When you put a func_illusionary_visblocker inside of a func_detail_illusionary and you make the func_illusionary_visblocker 0.125 units smaller, so it's just slightly smaller, the corners of the func_detail_illusionary won't show. Instead, we can see a sliver of the func_illusionary_visblocker underneath.
See the image / map for what I mean.
visbl_det_ill_combo.zip
This does not seem to happen in 0.18.1
I don't really really care whether this gets fixed, as I can make my effect in a different better way, but I'm merely curious as to why this is different.