-
Book Overview & Buying
-
Table Of Contents
Learning LibGDX Game Development- Second Edition
By :
It would be great if we could interact with the game objects. In a 2D scene, it is easy as we can map the 2D coordinates of the game object with the input coordinates. However, in a 3D game, it is different as the game object is positioned in 3D world coordinates and the input is available as 2D screen coordinates. A familiar scenario is a first person shooter game, wherein on shooting the bullet it is traced through the scene until a collision is detected. Ray picking is the process of shooting a line or ray from the camera through the 2D view port into the 3D game world until it hits an object, as shown here:

The following code will explain the process of ray picking in LibGDX. We will extend and update CameraInputController in the create() function as follows:
@Override
public void create() {
...
final BoundingBox box= model.calculateBoundingBox(new BoundingBox());
camController = new CameraInputController(cam) {
private final Vector3 position = new Vector3();
@Override
public...