COSC 3550 - Assignment #6
Creating a Virtual 3D World with JavaFX
Due date: Friday, April 17, 2020

GOAL: Use JavaFX to create a virtual 3-dimensional world. Your world should involve at least six geometric objects with at least two different types of shapes. You should use at least one RotateTransition or one TranslateTransition in your world. Use the keyboard and mouse to allow the user to travel around in your world as demonstrated in World1.java.

INDIVIDUAL: Each person should write and submit their own world.

METHOD: Your world will be made up of a series of geometric shapes. The predefined shapes which you may wish to use are Box, Cylinder, and Sphere. You can find these used in the various class demos and all of them described in the JavaFX API.

Controlling the camera to travel within your world does not depend on the details of your world. In fact, you can simply take the definition of the World1 class from the World1.java demo and replace the constructWorld() method with your own code and the camera controls will be in place.

EXTRA: As always, if you want to earn a grade higher than a B, you should add something to your program that shows you have taken the time to understand some aspects of JavaFX 3D programming that you didn't need to learn about for the basic assignment. In this case that might include setting up a custom animation using frame-by-frame updates (like moving the Gun in 3D_Shooting), adding player interaction, setting up fancy lighting effects, etc.

HAND-IN: You should submit the Java code for your program (*.java) with your name in it(!). Explain any special details of your program (either in the code or a separate note).