Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand Visual Build options for FuncGodotFGDSolidClass to include more options from MeshInstance3D #37

Open
RisingThumb opened this issue Sep 6, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@RisingThumb
Copy link

What I'm suggesting here is to expand the Visual Build options for the FuncGodotFGDSolid class to allow more options that exist for MeshInstance3D. In my own project I have added a couple of extra options for Extra Cull Margin and Ignore Occlusion Culling, which are 2 I think are worthwhile adding(as if you have brushes embedded in occluders they are finicky with getting occluded out inconsistently which isn't desirable). This would fit with the current design approach of offering Occlusion for brushes too.

Some of the other options available seem... interesting, but I'm not sure how practical they are to add. Material Overlay could be useful if you wanted to accomplish Hedges with some dimension to them, but you can already do that with a next pass render material on a material. The GI options may also be worth considering, though I haven't dug into those yet. Interested to hear if there's either been discussion on this before or if they are useful?

The difficulty of adding this is low, as you just add some more export options to the class, and then just put them onto the MeshInstance3D alongside the other Visual Build settings as is the current behavior.

Additionally, is there an argument against adding all of them? Also aware these could be assigned via a script, so these options aren't locked away from the user, just a little less accessible to use.

For reference:

Current available options

image

Available options under MeshInstance3D

image

@RhapsodyInGeek RhapsodyInGeek added the enhancement New feature or request label Sep 8, 2024
@RhapsodyInGeek
Copy link
Contributor

Additionally, is there an argument against adding all of them?
Mostly a noise thing + practical use case likelihood, tbh. Judgment calls on "is this better as a entity class wide setting or is it better off as an entity instance class property?" Am I going to have to make dozens of slight variations on the same class?

Mat overlay could go either way, but I'd lean towards "better off a class property".

I don't remember seeing transparency, that's cool. That would honestly be better off as a class property than a Visual Instance Build option, per entity basis rather than class wide.

Extra cull margin could be useful. I'd say it'd make sense.

Ignore occlusion would be better off a class property as well.

Custom AABB would be problematic though, if you think about it for even a few seconds. Vastly variable brush entity sizes.

I can see GI Mode being worth adding as that has some tremendous use cases. Your func_geo isn't going to move, may as well have them all set to Static. Your func_move is always going to have the option to move, better make it Dynamic or whatever.

Visibility Range runs into the same problems as Custom AABB.

Sorting is also one of those properties that are better off as a per instance class property rather than class wide setting.

@RisingThumb
Copy link
Author

Sounds good to me, I'll raise a PR to address this when I get some time this week

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants