![a good mesh characteristics in flac3d a good mesh characteristics in flac3d](https://itasca-int.objects.frb.io/assets/img/site/software/dyn_fig4.png)
There's no hooks to do anything meaningful. If I want it to do something specific, I can't, I instead have to tweak arcane, poorly documented knobs to get something in the vicinity of what I want. So the agents are dumb, slow, and look bad. Putting a bunch of agents close to each other also performed pretty poorly. Stuffing a bunch of agents into a tight corridor doesn't handle gracefully at all either, last time I checked. If you want to automatically be able to jump up, you have to place those out manually. This means that all solutions for agents with different radiuses will be bad.Īutomatic off mesh links only go down. The navmesh defines the points where the agents can have their center position. It also, by default, doesn't take it's facing into account when deciding speed.ĬalculatePath returns true when it can't find a path, as long as it can find a partial path. The way you're supposed to work around that is to use root motion, which is a hack on top of a hack. Instead, the agent moves in a straight path towards it's target, always. There's no built-in way to say things like "move by turning". The agent's acceleration and deceleration is the same variable, and I can't do anything about that. Their radius when taking corners and avoiding each other is tied together. I can't define how agents avoid each other, just what their radius is. I can't meaningfully define how the agent takes corners - it will always hug it as tightly as possible, usually in a way that looks bad. We spent countless hours fighting against thin slivers, bad corners, weird shapes, and other stuff like that.Īlso, If I want to have to navmeshes next to each other - say a land-based one for land creatures and a water-based one for water-based creatures - then they'll automatically connect to a single mesh, which means that water-based things will be partially on land and land-based things will be partially in water. You have to give it a bunch of geometries and settings and hope for the best.Īny baking based on looking at input geometries divorced from any knowledge about the game they're in is going to be bad, but that's the only way you can do things in Unity's setup.īaking is a good option for games with very, very simple geometry, and for prototyping, but you really want to be able to just feed in the correct mesh based on what you know about your own game. Everything is poorly coupled.īaking is horrid. At least it's not crashing and seems stable enough.Ĭlick to expand.It's a stupid black box.
![a good mesh characteristics in flac3d a good mesh characteristics in flac3d](https://itasca-int.objects.frb.io/assets/img/site/software/Tutorials/gen-from-geom-thumb.png)
I don't think they have any real interest in it.
#A good mesh characteristics in flac3d code#
Most AAA games also use the same source code (as does A* project), but as you point out, the access to the internals does suck. This would give them a clear picture, I'm sure.īut I would not go as far as to say that you can't make a decent game with Unity's built in (recast) navigation. Unity needs to do some complex AI such as bots for their shooter. Wasn't a blocker but I see where you are coming from for sure. They allow debug display of it, so it's there, but they don't allow access to the initial mesh, only the optimised one, which isn't much use when you want to figure out the local topology. I didn't need to hook in, but I could've done with a cleaner way to do it.Īdditionally, it's a shame I can't get access to the raw navigation mesh before it is optimised by Unity. So I know where all the cover points are and it's no problem for me. Click to expand.I solved that by building an open-edge list off the internal mesh that Unity uses.