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

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.

主站蜘蛛池模板: 拜城县| 涿鹿县| 玉山县| 根河市| 准格尔旗| 乌拉特前旗| 阜阳市| 天津市| 桐梓县| 开平市| 鄂伦春自治旗| 双桥区| 九江市| 道真| 珠海市| 静乐县| 饶平县| 临猗县| 永定县| 措勤县| 盐城市| 灵川县| 綦江县| 高陵县| 长治市| 喀喇沁旗| 五莲县| 昌乐县| 炎陵县| 长垣县| 淄博市| 铜山县| 恩施市| 博兴县| 松阳县| 林口县| 巴林左旗| 府谷县| 衡南县| 中牟县| 兰溪市|