官术网_书友最值得收藏!

Chapter 3. Cardboard Box

Remember when you were a kid and happy to just play in a cardboard box? This project might even be more fun than that! Our first Cardboard project will be a simple scene with a box (a geometric cube), a triangle, and a bit of user interaction. Let's call it "CardboardBox." Get it?

Specifically, we're going to create a new project, build a simple app that just draws a triangle, then enhance the app to draw a shaded 3D cube, and illustrate some user interactions by highlighting the cube when you look at it.

In this chapter, you will be:

  • Creating a new Cardboard project
  • Adding a triangle object to the scene, including geometry, simple shaders, and render buffers
  • Using a 3D camera, perspective, and head rotation
  • Using model transformations
  • Making and drawing a cube object
  • Adding a light source and shading
  • Spinning the cube
  • Adding a floor
  • Highlighting the object that the user is looking at

The project in this chapter is derived from an example application provided by the Google Cardboard team called Treasure Hunt. Originally, we considered instructing you to simply download Treasure Hunt, and we'd walk you through the code explaining how it works. Instead, we decided to build a similar project from scratch, explaining as we go along. This also mitigates the possibility that Google changes or even replaces that project after this book is published.

The source code for this project can be found on the Packt Publishing website and on GitHub at https://github.com/cardbookvr/cardboardbox (with each topic as a separate commit).

The Android SDK version is important to your finished app, but your desktop environment can also be set up in a number of ways. We mentioned earlier that we used Android Studio 2.1 to build the projects in this book. We also used the Java SDK Version 8 (1.8). It will be important for you to have this version installed (you can have many versions installed side by side) in order to import the projects. As with any development environment, any changes made to Java or Android Studio may "break" the import process in the future, but the actual source code should compile and run for many years to come.

主站蜘蛛池模板: 彭泽县| 吐鲁番市| 哈尔滨市| 麦盖提县| 吉木萨尔县| 榆中县| 饶河县| 新化县| 延长县| 梅河口市| 高唐县| 富蕴县| 满洲里市| 樟树市| 荆门市| 宣恩县| 田林县| 聂荣县| 襄城县| 佛山市| 秭归县| 双牌县| 安陆市| 东宁县| 新乐市| 张北县| 乌苏市| 凌云县| 扶沟县| 大田县| 牙克石市| 新竹市| 望江县| 耿马| 淳安县| 昌平区| 巫山县| 葫芦岛市| 华阴市| 明溪县| 营山县|