Book Image

Building a 3D Game with LibGDX

Book Image

Building a 3D Game with LibGDX

Overview of this book

LibGDX is a hugely popular open source, cross-platform, Java-based game development framework built for the demands of cross-platform game development. This book will teach readers how the LibGDX framework uses its 3D rendering API with the OpenGL wrapper, in combination with Bullet Physics, 3D Particles, and Shaders to develop and deploy a game application to different platforms You will start off with the basic Intellij environment, workflow and set up a LibGDX project with necessary APIs for 3D development. You will then go through LibGDX’s 3D rendering API main features and talk about the camera used for 3D. Our next step is to put everything together to build a basic 3D game with Shapes, including basic gameplay mechanics and basic UI. Next you will go through modeling, rigging, and animation in Blender. We will then talk about refining mechanics, new input implementations, implementing enemy 3D models, mechanics, and gameplay balancing. The later part of this title will help you to manage secondary resources like audio, music and add 3D particles in the game to make the game more realistic. You will finally test and deploy the app on a multitude of different platforms, ready to start developing your own titles how you want!
Table of Contents (12 chapters)

Adding our own gun model


There are a number of steps here for us to actually see our model being drawn and also animated. We'll go over them step by step. For this example, we'll use our gun model's file, which is in the FBX format.

Converting our gun model file

We will take our FBX file into the fbx-conv folder and convert it with the help of the following command:

D:\FBX-CONV>fbx-conv-[yourOS] -f -o G3DJ GUNMODEL.FBX

You should get to see something similar to what we have in the following image. We are using Windows, so we need to use win32.exe.

Let's go into a bit of detail here: we will now call our application, flip the V texture coordinates (-f), tell the app to convert it to the G3DJ file format (-o), and then give our file name. The default conversion is to the G3DB file format, and it's almost the same format as G3DJ but with a few differences. G3DB is faster to load but binary. G3DJ, on the other hand, is slower but has a JSON format that you can open and read. This can come...