Book Image

jMonkeyEngine 3.0 : Beginner's Guide

Book Image

jMonkeyEngine 3.0 : Beginner's Guide

Overview of this book

jMonkeyEngine 3.0 is a powerful set of free Java libraries that allows you to unlock your imagination, create 3D games and stunning graphics. Using jMonkeyEngine's library of time-tested methods, this book will allow you to unlock its potential and make the creation of beautiful interactive 3D environments a breeze."jMonkeyEngine 3.0 Beginner's Guide" teaches aspiring game developers how to build modern 3D games with Java. This primer on 3D programming is packed with best practices, tips and tricks and loads of example code. Progressing from elementary concepts to advanced effects, budding game developers will have their first game up and running by the end of this book.From basic concepts and project creation to building a complex 3D Game, you will learn to layout 3D scenes, make them interactive and add various multi-media effects.You will find answers to common questions including best practices and approaches, how game characters can act and interact, how to simulate solid walls and physical forces, how to take it online to play over a network and much more.From Zero to Hero, start your journey to make your game idea a reality.
Table of Contents (20 chapters)
jMonkeyEngine 3.0 Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – plant a tree


Placing a tree on flat ground is easy: you know the y coordinate of the ground plane.

Let's try placing a tree on a hilly terrain.

  1. Make a copy of TerrainSimple.java and name the class Trees.java. Remember to also refactor the first line of the main() method to the following:

    Trees app = new Trees();
  2. Keep the code that creates HillHeightMap(1025, 1000, 50, 100, (byte) 3).

  3. Load a tree model from the assets folder included with this book.

    public void simpleInitApp() {
      Spatial treeGeo = assetManager.loadModel("Models/Tree/Tree.j3o");
      treeGeo.scale(5); // make tree bigger
      treeGeo.setQueueBucket(Bucket.Transparent); 
      // transparent leaves
      rootNode.attachChild(treeGeo);
  4. Place the tree at (-30,y,-30) on the terrain.

      Vector3f treeLoc = new Vector3f(-30,0,-30);
      treeLoc.setY( terrain.getLocalTranslation().getY() ); 
      treeGeo.setLocalTranslation(treeLoc);  
    }

Run the code. You should see the tree standing on the flat ground, surrounded by hills. As long as (-30,y...