Book Image

Going the Distance with Babylon.js

By : Josh Elster
Book Image

Going the Distance with Babylon.js

By: Josh Elster

Overview of this book

Babylon.js allows anyone to effortlessly create and render 3D content in a web browser using the power of WebGL and JavaScript. 3D games and apps accessible via the web open numerous opportunities for both entertainment and profit. Developers working with Babylon.js will be able to put their knowledge to work with this guide to building a fully featured 3D game. The book provides a hands-on approach to implementation and associated methodologies that will have you up and running, and productive in no time. Complete with step-by-step explanations of essential concepts, practical examples, and links to fully working self-contained code snippets, you’ll start by learning about Babylon.js and the finished Space-Truckers game. You’ll also explore the development workflows involved in making the game. Focusing on a wide range of features in Babylon.js, you’ll iteratively add pieces of functionality and assets to the application being built. Once you’ve built out the basic game mechanics, you’ll learn how to bring the Space-Truckers environment to life with cut scenes, particle systems, animations, shadows, PBR materials, and more. By the end of this book, you’ll have learned how to structure your code, organize your workflow processes, and continuously deploy to a static website/PWA a game limited only by bandwidth and your imagination.
Table of Contents (20 chapters)
1
Part 1: Building the Application
7
Part 2: Constructing the Game
13
Part 3: Going the Distance

Building the Playground Scene

The Babylon.js Playground is designed around providing users with the easiest, shortest possible path to rendering content in the scene. Open your web browser of choice and navigate to https://playground.babylonjs.com/ and you’ll see the basic outline of a snippet. This basic template snippet simply creates a new scene and a camera that renders it, but it’s as good a starting place as any!

On the left of the playground is the code editor and on the right the render canvas. The important thing to know about the playground is that each snippet is unique in two ways, both contained within the URL to the snippet. The characters after the first hash (#) symbol are the snippet’s ID, the number after the second hash the revision. Every time a snippet is created it is assigned a unique identifier, and every time that snippet is saved a new revision is created. For example, #L92PHY#36 points to a sample showing multiple viewports in an FPS...