zulfajuniadi / unity-ecs-navmesh

A demo implementation of Unity Entity Component System with NavMesh
471 stars 80 forks source link

Any chance you might be willing to update this? #5

Open MostHated opened 5 years ago

MostHated commented 5 years ago

Hey there, I definitely appreciate the time you took to create this! I am wanting to try and see if I can somehow convert my current waypoint system (some cars and people) to use ECS and this would be absolutely perfect to help me figure out how. The only issue I run into though is that my game is currently using 2018.3 and some things have changed since then with ECS which makes trying to figure things out quite difficult. I was hoping that perhaps if you happen to have some time, you might consider updating this to work with the current incarnation of ECS?

I can certainly respect if this was more of an "I want to make it to learn it and then I am done with it" type project, but I very much hope you might consider it!

Thanks a bunch! -MH

PodeCaradox commented 5 years ago

You just need to update the NavAgentSystem if you use it in your Code like i did here: https://github.com/zulfajuniadi/unity-ecs-navmesh/issues/4

if not i can update you the project, i will have also a full ecs implementation with no gamebject instead entitys for walls etc. in it: https://forum.unity.com/threads/navmeshsurface-updatenavmesh-with-a-entity.766148/

reeseschultz commented 4 years ago

MH, I saw that you starred my project and very much appreciate that.

So now I'm just stopping by to mention that the navigation scripts included in my GitHub demos are probably the most suitable, modern alternative. I bring it up for those coming from Google or elsewhere. My scripts are drag-and-droppable, and even include a user guide. To boot, they support auto-jumping of agents and moving surfaces. My scripts were designed independently of unity-ecs-navmesh, and are not a fork, so things are pretty different, but one can still think of my scripts as a spiritual successor to those found in this repository.

The maintainer for this repository spearheaded a navigation solution that almost nobody else was willing to publicly touch in the context of DOTS, because it's freaking hard and enormously time-consuming. You'll notice that plenty of people will talk about this subject on Unity's forum, but of course they don't share much code because they might not actually know how to do it. To the contrary, the maintainer here built this stuff when the DOTS APIs were far less mature, and constantly barraged with breaking changes each month. I have enough to contend with now for my project, despite the APIs being nearly fully baked (I hope 🤷).

We need to thank @zulfajuniadi for showing that DOTS is interoperable with the existing nav mesh features (thank you!). That is also in spite of the fact that, it appears, virtually nobody helped him aside from a single pull request. Lastly, I'd like the maintainer to know that I'd be more than happy to work with him on PRs if he's interested in working on navigation again.

Thanks for your time!

MostHated commented 4 years ago

Ah yeah, I thought that project looked pretty interesting. I have not had a chance to actually check it out, but I always like to try and see how other fellas went about handling similar situations. Since I made this initial post I actually dove in as well and created my own DOTS based solution as well. Though, I decided to go with a node driven A* based system instead of navmesh after some testing as it just ended up working out better for my needs. The pathing and navigation are fully DOTS, with an integration layer between DOTS physics and the standard legacy physics so that I could make use of PuppetMaster.

https://i.imgur.com/OpSD58s.png https://i.imgur.com/UBGOPAo.png https://i.imgur.com/935LhHd.png https://i.imgur.com/Y4kAS43.png

Then here were some action shots, github doesn't seem to live gifv format very much, though. https://i.imgur.com/a91Ky6O.gifv https://i.imgur.com/tf4hQCV.gifv https://i.imgur.com/XIHPaK1.gifv https://i.imgur.com/ARWNx3D.gifv

I definitely took inspiration from many of the talented fellas who paved the way through the uncharted DOTS wilderness, so I certainly share the appreciation for the work that they had put in and the great things they accomplished.

I definitely plan on checking out your project though once I get some time. Nice to see some innovation. 👍 I tell you what though, it sure was an awful lot of head smacking against the desk, frustration, and fun to figure out, lol.

reeseschultz commented 4 years ago

The pathing and navigation are fully DOTS, with an integration layer between DOTS physics and the standard legacy physics.

Very interesting! I'm sure others would find that pretty useful if you shared your code for that.

Loving the gifs of your run-people-over simulator ;). Keep at it, it's looking good.

MostHated commented 4 years ago

I have a lot of cleanup to do on it but I do intend on releasing it, and hopefully now/soon things will settle with the APIs. As you mentioned, it was a pain trying to keep up with things at times.

As for the people getting run over, I had many a chuckle while testing, that is for sure, lol.