Megafunk / MassSample

My understanding of Unreal Engine 5's experimental ECS plugin with a small sample project.
MIT License
682 stars 112 forks source link

Mass user interaction system #3

Open vorixo opened 2 years ago

vorixo commented 2 years ago

Given a gameplay overlap (actor entering a gameplay volume) or a user input, apply mass operations - ie: mutating fragments for a given entity.

Dev comments: A generic "add/set fragment on entity by event" would be useful? I don't think it will ever be as intuitive as gameplaytags. Changing existing entity data dynamically from user input that doesn't technically belong/point to a specific actor (the sphere in your example) might require further research.

See: InternalGetFragmentDataPtr.

Megafunk commented 2 years ago

Added a 3d point hashgrid setup for getting the location of entities in the world. The performance implications of this are unknown though, it might not be as well suited for this as the 2d hashgrid used by avoidance. (not a Mass query here, just to be clear)

Entities found by the grid can have their transform changed from BP nodes, We'll add a nicer way to change entity composition with BP later... I could just stuff *UMassEntityConfigs in there but that's super heavy for just a list of structs!!!

Lots of goofy BP only wrapper structs for making stuff usable from BP as well...

Megafunk commented 2 years ago

Added a simple way the user can grab hashgrid entities which is a nice start but definitely not enough to close the issue.