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

Add the ability to select an obstacle or an agent as a target #3812

Closed
Killfrra opened this issue Jan 17, 2022 · 2 comments · Fixed by godotengine/godot#69988
Closed

Add the ability to select an obstacle or an agent as a target #3812

Killfrra opened this issue Jan 17, 2022 · 2 comments · Fixed by godotengine/godot#69988
Milestone

Comments

@Killfrra
Copy link

Describe the project you are working on

Simple League-of-Legends alike MOBA

Describe the problem or limitation you are having in your project

Sometimes a character needs to chase another character, or simply approach him at a certain distance (or close), bypassing other characters as usual. RVO prevents this by initiating an evasive maneuver on approach.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Therefore, it would be useful to be able to temporarily disable avoidance for one agent in relation to another.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

I suggest, along with the set_target_location function, implement the set_target function, which will accept a 2d / 3d object or agent and, if it is an agent, do not avoid it. Or add_to_blacklist / remove_from blacklist functions or something like that. In the worst case, implement through layer selection by analogy with physics.

If this enhancement will not be used often, can it be worked around with a few lines of script?

Yes, probably. By writing my own implementation of avoidance.

Is there a reason why this should be core and not an add-on in the asset library?

A task, for example, chasing a player sounds very simple and can be in demand in many games, it's a pity that the engine does not provide such an opportunity "out of the box".

@Calinou
Copy link
Member

Calinou commented Jan 17, 2022

Related to #1966 and #3813.

@smix8
Copy link

smix8 commented Oct 20, 2022

Will be solved in Godot 4 with avoidance layers and mask as well as an avoidance priority rating.

avoidance_layers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants