Learn 3D Pathfinding with Octrees

Course Provided by:Penny de Byl
Course Taken on: Udemy
starstarstarstarstar_half 4.5120926

Description

Ever wanted to take navmeshes off the level and extend them into 3D space? The techniques revealed in this course will show you how to use Octrees to recursively divide space for use with the A* algorithm to find paths from one location to another. Throughout, you will follow along in the Unity game engine to develop a project that creates and visualises Octrees in carving up the space around game objects before developing an automatic navigating AI character that uses A* for pathfinding.

The course includes:

  • Octree and Tree Graph Theory

  • Waypoint Graph Theory

  • The practical application of Octrees in space dividing, in a 3D Unity environment

  • A close-up look and implementation of the A* algorithm

  • The development of AI characters that independently navigate 3D space

By the end of this course, you will have a thorough appreciation of the power of Octrees and their use in 3D pathfinding and be able to implement them in Unity to develop your own AI characters with auto-navigation.

What others are saying about Penny's courses:

  • This course is amazing! Penny has got to be, hands down, one of the best instructors on game development, Unity, and C#! In the span of three hours, I have learned so much that it rivals my graduate program!

  • Best Unity class I've taken.

  • Wow, the most fun I've ever had coding! For the first time since taking numerous online courses over a 4 year span, I took on all of Penny's challenges successfully. Personally, I feel as though I am making progress, and this is thanks to her professional teaching ability.

Requrirements

A working knowledge of the Unity Game Engine,A working knowledge of C#,An understanding of recursion

Course Includes

  • 4 hours on-demand video
  • 3 articles
  • 18 downloadable resources
  • Access on mobile and TV
  • Full lifetime access
  • Certificate of completion

Course Reviews

  1. I like it so far, explains everything thoroughly. Would have been nice if we could go through and break down bounds, since it seems to be an important part when making an octree
  2. The instructor is easy to understand and the code is simple to follow along with. For someone well versed in coding this course is a good fit for learning a data structure I am unfamiliar with.
  3. I do like some other Penny's courses, which I've done, unfortunately this one left me pretty disappointed.
  4. When I saw this course being available, it was almost an instant buy for me as I have been interested in using octrees for navigation for quite some time now.
  5. What I expected was that as a final result we'd be able to have an efficient octree solution for navigation. While it is true that the in the final result it is possible to choose a destination inside an octree and see the AI fly to, it has several issues:
  6. 1) the AI often flies through cubes/planets, which should be impassable. So there is no local collision avoidance ( I realize that this is not a topic of this course but it seems like local collision avoidance should go hand in hand with calculating the path through the octree).
  7. 2) the path taken in most cases seems illogical. You can visually see a straight path to the destination but the AI flies through nodes sometimes on the other half of the space making zig zags everywhere.
  8. I think the second issue is caused by how neighbours of a node are found. The method was very quick to implement and easy to understand but it fails to find all of the neighbours. This results in illogcial paths for the AI. I expected to see an implementation that is complex but actually works (this was even mentioned in the video).
  9. Not necessarily related to octrees, but the code written is also of low quality: the C# standards are not followed and in many places it is very unoptimized (eg. 2 GetComponent calls of the same component on 2 consecutive lines). And the architecture of the code written could be much better as well.
  10. The course gave me some idea on how an octree could be set up and the space split up with crude navigation, I expected a much more thorough course about octrees. Something that would prepare me for the "real world". I would not use the final state of the project of this course in my live projects and there would still be a lot to be done before this was the case.
  11. I hope the course gets updated in the future and will go more in-depth.
  12. Huge fan of Penny’s content and usually rave about her courses to anyone who will listen but this one just feels rushed.
  13. A relatively complex subject matter like pathfinding in 3D space being taught almost exclusively via code would also benefit greatly from more hygienic coding practices. This sort of lackadaisical code-along that foregoes readability in favour of just getting things done, while fine in certain situations, really doesn’t do this topic justice.