add Hull special texture #117
Replies: 6 comments
-
|
already have implemented one myself it adds a collision shape on map build |
Beta Was this translation helpful? Give feedback.
-
|
Why use Hull when we can reuse Clip? Clip is intended to always provide a collision shape, so it makes more sense to expand it to something like this rather than create a whole new custom tool texture. |
Beta Was this translation helpful? Give feedback.
-
|
the logic was that the brush with it applied gets added to an entity, similar to origin texture if the entity it gets added to specified concave or convex determines which shape type is generated. in my current workaround im being forced to use 2 different entities: the rest is boiler plate to move the generated collision shape that is child of the hull generated node to the target and then delete the hull node as isnt needed anymore, all to avoid having too many nodes (thats why not using CLIP for this) right now I'm not quite sure how that relates to expanding CLIP texture. maybe a good argument in favor of HULL texture would be separation of concerns. |
Beta Was this translation helpful? Give feedback.
-
|
Well if all you're trying to do is create extra collision, Clip already creates collision without creating a mesh. That's its job. What could be done is to add 2 options to the Collision setting on the SolidEntity definition: "Clip Only Convex" and "Clip Only Concave". Then it could build collision only from brushes that have Clip textures on them. No need for a hull texture, works within the pre-existing systems. Less interface bloat and it only touches one user-facing script and ends up as a small addition to geo generation. |
Beta Was this translation helpful? Give feedback.
-
|
the advantage of having HULL texture would be that its more visual so no need to switch from TB to Godot editor to manually check if a particular solid ent is marked as better for mapping workflow/iteration your proposed version still brings the functionality ofc |
Beta Was this translation helpful? Give feedback.
-
|
If this were to get added, it would just be extending the Clip texture features. No need to overcomplicate / overdesign things. If anything we're trying to simplify the plugin as best we can without losing features. I'll keep this feature in mind when we've gotten further with our core rewrite. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
There are cases where don't want a en entity to generate collision, due it being unnecessary complex.
The way-to-go is to make it
func_illusionary/func_detail_illusionaryand add a simple brush withCLIPtexture to act as its collision shape.But what when the entity marked as illusionary is of a type that is interacted, so there are collision layers involved, custom properties, etc.
In such cases want the auxiliary collision shape to be child of it, so the collision system can check which type is the collider, to apply any custom game logic. (check if is
Interactable, etc.)With the previous example there's a distinction between the illusionary entity and its auxiliary shape, because they are two separate entities that become 2 distinct nodes.
The problem can be addressed by applying some custom logic on map build.
But considering that it is a pretty common thing that almost any project could need..
What about have a special texture called "Hull", that behaves similarly to origin texture?
Workflow:
ChollisionShape3Dis attached to the entity it is subordinated to, presumably with a convex shape.NOTE: doesn't necessarily mean that only should work on entities marked as illusionary / that doesn't generate any collision.
EDIT:
also to use a workaround on map build, the entity the hull would be applied to must have a script to do some lookup (like a relation
target←→targetname) in an exportedfunc_godot_properties, otherwise cant do reparenting properly.Thats a problem when only want to add a simpler collision shape to a plain
func_illusionaryorfunc_detail_illusionary(with complex mesh) as those doesnt have any script attached.Beta Was this translation helpful? Give feedback.
All reactions