Pixel PERFECT Mouse Picking | Coding a 2D Game Engine in Java #31

Channel:
Subscribers:
59,400
Published on ● Video Link: https://www.youtube.com/watch?v=8fAJ1AzWFTs



Duration: 33:51
4,593 views
0


Join the Discord: https://discord.gg/4tHeAkxNg7

In this episode I discuss a very hard to find topic, 3D picking. This is how to get pixel perfect picking detection for when a user of the engine clicks on one of the objects in the game scene. This technique also works for alpha blended objects, so if you have a game object in the world that is a donut, you can click through the donut hole to the object behind the donut, and get the correct result. This is a huge necessity in any software, because when a user clicks on an object they expect to get that object. This also allows us to use these results to begin editing different objects in our game world.

Source Code: https://github.com/codingminecraft/MarioYoutube/tree/5f1fcf47d10abdf682afd4105900041c449528f0

0:00 Intro
2:08 How 3D Picking Works
5:05 Coding 3D Picking

---------------------------------------------------------------------
Website: https://ambrosiogabe.github.io/
Github: https://github.com/ambrosiogabe

Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)

My Recommended Game Engine Books:
Game Engine Architecture: https://www.gameenginebook.com/
Game Physics Cookbook (Read this before the next physics book): https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): https://www.amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): https://gameprogrammingpatterns.com/

My Recommended Beginning Game Programming Books:
JavaScript Game Design: https://www.apress.com/gp/book/9781430247166

My Recommended Java Books:
Data Structures/Algorithms: https://www.amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/

Outro Music: https://www.bensound.com/royalty-free-music




Other Videos By GamesWithGabe


2020-11-12Box2D Lite Walkthrough Part 1 | Coding a 2D Physics Engine in Java #16
2020-11-04Properties Panel | Coding a 2D Game Engine in Java #36
2020-10-29How I Debug Graphics Code | Game Engine Concepts #6
2020-10-28Translate and Scale Gizmo | Coding a 2D Game Engine in Java #35
2020-10-24Coding Gizmos | Coding a 2D Game Engine in Java #34
2020-10-17Editor Camera Controls with Lerp | Coding a 2D Game Engine in Java #33
2020-10-11Iterative Linear Impulse Resolution | Coding a 2D Physics Engine in Java #15
2020-10-07Serialization (Saving/Loading Levels) | Game Engine Concepts #5
2020-09-26Enabling Mouse Picking and Code Maintenance | Coding a 2D Game Engine in Java #32
2020-09-25The State Pattern | Game Engine Concepts #4
2020-09-19Pixel PERFECT Mouse Picking | Coding a 2D Game Engine in Java #31
2020-09-16The Command Pattern: Coding Undo/Redo | Game Engine Concepts #3
2020-09-12Collision Manifolds (Circle v Circle) | Coding a 2D Physics Engine in Java #14
2020-09-085 YEARS of Game Development | From no Programming Knowledge to this
2020-09-05Mouse Screen Coordinates to Game Viewport Coordinates | Coding a 2D Game Engine in Java #30
2020-09-02How to Debug OpenGL Programs? (Non-zero exit code status, uh oh) | Game Engine Concepts #2
2020-08-30Engine Workflow & Picking | Cocoa Engine Devlog #12
2020-08-29Adding a Game Viewport | Coding a 2D Game Engine in Java #29
2020-08-26How does Font Rendering Work? | Game Engine Concepts #1
2020-08-22Particle Physics and Forces | Coding a 2D Physics Engine in Java #13
2020-08-19Channel Update | GamesWithGabe



Tags:
gameswithgabe
games with gabe
lwjgl3
mouse picking
3d picking
pixel perfect mouse picking
pixel perfect
picking
game development
how to code a game engine
how to code mouse picking
java game engine
how to detect object clicked on game engine
level editor in java
coding a level editor with lwjgl
game engine
how to make a level editor
imgui
lwjgl
java
mario