The Beginner's Guide to Games AI with Unity 6.2+
A practical guide to programming non-player characters for games in the Unity Game Engine with C#
A practical guide to programming non-player characters for games in the Unity Game Engine with C#
Do your non-player characters (NPCs) lack drive and ambition? Are they slow, stupid and constantly banging their heads against the wall? Then this course is for you. Join Penny as she explains, demonstrates and assists you in creating your very own NPCs in Unity with C#. All you need is a sound knowledge of Unity, C# and the ability to add two numbers together.
This course uses Unity Version 6.2+ LTS.
In this course, Penny reveals the most popular AI techniques used for creating believable character behaviour in games using her internationally acclaimed teaching style and knowledge from over 30 years working with games, graphics and having written two award winning books on games AI. Throughout, you will follow along with hands-on workshops designed to teach you about the fundamental AI techniques used in today's games. You'll join in as NPCs are programmed to chase, patrol, shoot, race, crowd and much more.
Learn how to program and work with:
vectors
waypoints
navmeshes
the A* algorithm
crowds
flocks
animated characters
vehicles
and industry standard techniques such as GOAP (goal-oriented action learning).
Contents and Overview
The course begins with a detailed examination of vector mathematics that sits at the very heart of programming the movement of NPCs. Following this, systems of waypoints will be used to move characters around in an environment before examining the Unity waypoint system for car racing with AI controlled cars. This leads into an investigation of graph theory and the A* algorithm before we apply these principles to developing navmeshes and developing NPCs who can find their way around a game environment. Before an aquarium is programmed complete with autonomous schooling fish, crowds of people will be examined from the recreation of sidewalk traffic, to groups of people fleeing from danger. Having examined the differing ways to move NPCs around in a game environment, their thinking abilities will be discussed with full explanations and more hands-on workshops using finite state machines and behaviour trees.
The follow-along workshops included in the course come with starter Unity asset files and projects complete with solutions. Throughout, there are also quizzes and challenge exercises to reinforce your learning and guide you to express your newfound knowledge.
At the completion of this course you will have gained a broad understanding of what AI is in games, how it works and how you can use it in your own projects. It will equip you with a toolset to examine any of the techniques presented in more depth to take your game environments to the next level.
What students are saying about this course:
This has been my favourite Udemy-Unity course so far. It took me from literally 0% knowledge of how game AI is achieved, and took me to a whole new level. Waypoints, pathfinding, state machines, etc etc etc are all covered in-depth and will reveal the magic (spoiler alert: it isn't magic) behind making your computer characters seem like they really have a mind of their own.
Oh My God. I love her way of teaching things. I haven’t finished this course yet. But all i can say is that it is another brilliant course from her. Artificial intelligence by itself is a tricky thing to do. And before starting this course i never thought that i will understand anything in it. But i was wrong. With her style of teaching, you will learn how to move your characters in an ”intelligent“ way. This course is perfectly sliced and the pace is wonderful.
Khu vực Câu hỏi thường gặp trống
Welcome to the Course
Xem trướcIntroduction to Artificial Intelligence
Xem trướcJoin the H3D Student Community
Xem trướcFAQs
Not So Scary Vector Mathematics
Xem trướcVector Mathematics Basics Cheat Sheet
Test your vector mathematics knowledge
Xem trướcSetting up Pathfinding in Unity
Xem trướcUpdating to Unity 6
Xem trướcTime
Xem trướcNormalising Movement with Time
Xem trướcVelocity
Xem trướcPredicting Future Locations of Game Objects Part 1
Xem trướcPredicting Future Locations of Game Objects Part 2
Xem trướcIntroducing Acceleration
Xem trướcAccelerating with Forces
Xem trướcApplying Friction and Gravity to Acceleration
Xem trướcIntroducing Parabolic Motion
Xem trướcSolving a Parabolic Arc to Find the Hit Location
Xem trướcUsing the Unity Physics System to Hit a Mark
Xem trướcThe A* Pathfinding Algorithm Part 1
Xem trướcStarting Work on a Pathfinding Algorithm
Xem trướcSelecting Random Starting and Ending Points in a Maze
Xem trướcPlacing Markers for Visualising A*
Xem trướcBeginning to Search
Xem trướcWatching the A* in Action
Xem trướcDebugging and Tweaking A*
Xem trướcWaypoints
Xem trướcSlerping to the Direction of Travel
Xem trướcFollowing a Circuit
Xem trướcFollowing a Tracker
Xem trướcUsing A* with Waypoints Part 1
Xem trướcA Simple Graph API Part 1
Xem trướcA Simple Graph API Part 2
Xem trướcA Simple Graph API Part 3
Xem trướcUsing A* with Waypoints Part 2
Xem trướcTraversing a Path
Xem trướcGiving Commands to Pathfind
Xem trướcNavigation Mesh Introduction
Xem trướcFrom Waypoints to Navigation Meshes
Xem trướcSetting up a NavMesh
Xem trướcNavMesh Layers and Masks
Xem trướcSelecting NavMesh Areas
Xem trướcDrop Height and Jump Distance
Xem trướcDefining Agent Types
Xem trướcFollowing a Player on a NavMesh
Xem trướcMoving As One
Xem trướcCreating a City Crowd Part 1
Xem trướcCreating a City Crowd Part 2
Xem trướcFleeing Part 1
Xem trướcFleeing Part 2
Xem trướcFlocking Part 1: Setting up Fish Agents
Xem trướcFlocking Part 2: A Basic Schooling Behaviour
Xem trướcFlocking Part 3: Adding goal locations and speed variety
Xem trướcFlocking Part 4: Containing Fish in a Tank
Xem trướcAn Introduction to GOAP
Xem trướcSetting up a GOAP Environment
Xem trướcPreplanning the agent's actions
Xem trướcThe World States
Xem trướcActions
Xem trướcAgents
Xem trướcThe GOAP Planner Part 1
Xem trướcThe GOAP Planner Part 2
Xem trướcExecuting a Simple Plan
Xem trướcCreating a Multistep Plan
Xem trướcSpawning Patients
Xem trướcPlans that Require Multiple Agents
Xem trướcMatching Agents with Agents
Xem trướcAdding More Resources to the World
Xem trướcImplementing the Inventory System
Xem trướcMoving the Nurse
Xem trướcAdding a Goal Challenge
Xem trướcSetting up Wheel Physics
Xem trướcForces on Wheels
Xem trướcConstructing a Simple Car
Xem trướcTurning the Steering Wheel
Xem trướcCreating A Circuit with Waypoints
Xem trướcAutomatically Driving a Circuit Part 1
Xem trướcBraking
Xem trướcDriving Forces
Xem trướcImproved Driving Tactics
Xem trướcAdding a Progress Tracker
Xem trướcAdding Antiroll Stabilising
Xem trướcReconfiguring for Car Setting Testing
Xem trướcAvoiding Other Drivers
Xem trướcImproving Avoidance and Reversing
Xem trướcNavMesh Basics
Xem trướcFrom Waypoints to NavMesh
Xem trướcNavMesh Agents Part 1
Xem trướcNavMesh Agents Part 2
Xem trướcFollowing a Player on A NavMesh and Setting-Up Off Mesh Links
Xem trướcFixing Mixamo Textures
Animating on a NavMesh
Xem trướcSyncing Animation Speed with NavMesh Agent Speed
Xem trướcMultiple NavMeshes for Different Agent Sizes
Xem trướcChallenge
You should be familiar with C# and the Unity Game Development Engine.
Design and program NPCs with C# in Unity
Explain how AI is applied in computer games
Implement AI-related Unity Asset plugins into existing projects
Work with a variety of AI techniques for developing navigation and decision making abilities in NPCs
1.0
0 Học viên
270 Khóa học
1252 Đánh giá
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
Xem chi tiết