Learn Unity 2017 for iOS Game Development Create Amazing 3D Games for iPhone and iPad — Second Edition — Allan Fowler Philip Chu Learn Unity 2017 for iOS Game Development Create Amazing 3D Games for iPhone and iPad Second Edition Allan Fowler Philip Chu Learn Unity 2017 for iOS Game Development: Create Amazing 3D Games for iPhone and iPad Allan Fowler Philip Chu Marietta, Georgia, USA Huntington Beach, California, USA ISBN-13 (pbk): 978-1-4842-3173-9 ISBN-13 (electronic): 978-1-4842-3174-6 https://doi.org/10.1007/978-1-4842-3174-6 Library of Congress Control Number: 2017959340 Copyright © 2017 by Allan Fowler and Philip Chu This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Cover image designed by Freepik. Managing Director: Welmoed Spahr Editorial Director: Todd Green Acquisitions Editor: Aaron Black Development Editor: James Markham Technical Reviewer: Massimo Nardone Coordinating Editor: Jessica Vakili Copy Editor: Kim Wimpsett Compositor: SPi Global Indexer: SPi Global Artist: SPi Global Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit www.apress.com/ rights-permissions. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book’s product page, located at www.apress.com/978-1-4842-3173-9. For more detailed information, please visit www.apress.com/source-code. Printed on acid-free paper For Hao, Ciaran, and Annah: kia kaha, kia aroha, kia mana. Contents About the Authors ���������������������������������������������������������������������������xix Acknowledgments ��������������������������������������������������������������������������xxi ■ Chapter 1: Getting Started ��������������������������������������������������������������1 Prerequisites �������������������������������������������������������������������������������������������1 Prepare Your Mac �����������������������������������������������������������������������������������������������������1 Register as an iOS Developer �����������������������������������������������������������������������������������2 Download Xcode �������������������������������������������������������������������������������������������������������2 Download Unity ���������������������������������������������������������������������������������������������������������2 Install Unity ���������������������������������������������������������������������������������������������3 Run the Download Assistant �������������������������������������������������������������������������������������3 Welcome to Unity!�����������������������������������������������������������������������������������������������������6 Manage Unity ������������������������������������������������������������������������������������������7 Change Skins (Pro) ���������������������������������������������������������������������������������������������������7 Report Problems �������������������������������������������������������������������������������������������������������9 Check for Updates ��������������������������������������������������������������������������������������������������12 Explore Further ��������������������������������������������������������������������������������������12 iOS Development Requirements �����������������������������������������������������������������������������13 The Unity Web Site ��������������������������������������������������������������������������������������������������13 Unity Manuals and References �������������������������������������������������������������������������������13 The Unity Community ���������������������������������������������������������������������������������������������14 v ■ Contents ■ Chapter 2: A Unity Tour �����������������������������������������������������������������15 Introducing The Climber Game ��������������������������������������������������������������15 Open the Climber Project ����������������������������������������������������������������������������������������16 Open the Climber Game Scene �������������������������������������������������������������������������������17 Play Climber �����������������������������������������������������������������������������������������������������������19 Building a game ������������������������������������������������������������������������������������������������������20 The Editor Layout ����������������������������������������������������������������������������������24 Preset Layouts ��������������������������������������������������������������������������������������������������������26 Custom Layouts ������������������������������������������������������������������������������������������������������28 The Inspector View ��������������������������������������������������������������������������������33 The Project View ������������������������������������������������������������������������������������38 Switch Between One-Column and Two-Columns ���������������������������������������������������39 Scale Icons �������������������������������������������������������������������������������������������������������������39 Inspect Assets ��������������������������������������������������������������������������������������������������������39 Search for Assets ����������������������������������������������������������������������������������������������������40 Operate on Assets ���������������������������������������������������������������������������������������������������42 The Hierarchy View ��������������������������������������������������������������������������������42 Inspect Game Objects ���������������������������������������������������������������������������������������������42 Parent and Child GameObjects �������������������������������������������������������������������������������43 The Scene View �������������������������������������������������������������������������������������43 Navigate the Scene �������������������������������������������������������������������������������������������������44 Scene View Options ������������������������������������������������������������������������������������������������47 Scene View Gizmos ������������������������������������������������������������������������������������������������47 The Game View ��������������������������������������������������������������������������������������48 Maximize on Play ����������������������������������������������������������������������������������������������������49 Stats �����������������������������������������������������������������������������������������������������������������������50 Game View Gizmos �������������������������������������������������������������������������������������������������50 The Console View ����������������������������������������������������������������������������������51 vi ■ Contents Explore Further ��������������������������������������������������������������������������������������53 Unity Manual �����������������������������������������������������������������������������������������������������������53 Tutorials ������������������������������������������������������������������������������������������������������������������53 Version Control �������������������������������������������������������������������������������������������������������53 ■ Chapter 3: Making a Scene ����������������������������������������������������������55 Create a New Project �����������������������������������������������������������������������������56 The Main Camera ����������������������������������������������������������������������������������61 Multiple Cameras ����������������������������������������������������������������������������������������������������61 Anatomy of a Camera ���������������������������������������������������������������������������������������������61 The Transform Component �������������������������������������������������������������������������������������63 The Camera Component �����������������������������������������������������������������������������������������63 FlareLayer Component ��������������������������������������������������������������������������������������������66 GUILayer Component ����������������������������������������������������������������������������������������������66 AudioListener Component ��������������������������������������������������������������������������������������67 Add a Cube to the Scene �����������������������������������������������������������������������67 Make the Cube ��������������������������������������������������������������������������������������������������������67 Frame the Cube ������������������������������������������������������������������������������������������������������69 Move the Cube ��������������������������������������������������������������������������������������������������������69 Anatomy of a Cube �������������������������������������������������������������������������������������������������70 Align With View �������������������������������������������������������������������������������������������������������72 Camera Control �������������������������������������������������������������������������������������73 Import the Script �����������������������������������������������������������������������������������������������������73 Attach the Script �����������������������������������������������������������������������������������������������������78 Add a Light ��������������������������������������������������������������������������������������������80 Anatomy of a Light��������������������������������������������������������������������������������������������������83 Adjust the Light ������������������������������������������������������������������������������������������������������84 Make a Halo ������������������������������������������������������������������������������������������������������������85 vii ■ Contents Textures �������������������������������������������������������������������������������������������������87 Import a Texture ������������������������������������������������������������������������������������������������������87 Shop the Asset Store ����������������������������������������������������������������������������������������������91 Import the Texture���������������������������������������������������������������������������������������������������94 Apply the Texture ����������������������������������������������������������������������������������������������������95 Explore Further ��������������������������������������������������������������������������������������96 Unity Manual �����������������������������������������������������������������������������������������������������������96 Reference Manual ��������������������������������������������������������������������������������������������������97 Asset Store �������������������������������������������������������������������������������������������������������������98 Computer Graphics �������������������������������������������������������������������������������������������������98 ■ Chapter 4: Making It Move: Scripting the Cube ����������������������������99 Organize the Assets �������������������������������������������������������������������������������99 Create the Script ���������������������������������������������������������������������������������100 Name the Script ����������������������������������������������������������������������������������������������������102 Anatomy of a Script ����������������������������������������������������������������������������������������������103 Attach the Script ���������������������������������������������������������������������������������������������������104 Edit the Script �������������������������������������������������������������������������������������������������������106 Understand the Script �������������������������������������������������������������������������������������������108 Read the Scripting Reference �������������������������������������������������������������������������������109 Run the Script �������������������������������������������������������������������������������������������������������111 Debug the Script ���������������������������������������������������������������������������������112 Compilation Errors ������������������������������������������������������������������������������������������������112 Runtime Errors ������������������������������������������������������������������������������������������������������113 Debug with MonoDevelop �������������������������������������������������������������������������������������113 Make It Rotate �������������������������������������������������������������������������������������119 Rotate the Transform ��������������������������������������������������������������������������������������������119 Other Ways to Rotate ��������������������������������������������������������������������������������������������122 Rotate in World Space ������������������������������������������������������������������������������������������122 viii ■ Contents Children of the Cube ����������������������������������������������������������������������������123 Making Prefabs �����������������������������������������������������������������������������������������������������123 Breaking Prefabs ��������������������������������������������������������������������������������������������������127 Explore Further ������������������������������������������������������������������������������������128 Unity Manual ���������������������������������������������������������������������������������������������������������128 Scripting Reference ����������������������������������������������������������������������������������������������128 Scripting ���������������������������������������������������������������������������������������������������������������129 ■ Chapter 5: Let’s Dance! Animation and Sound ���������������������������131 Import the Skeletons Pack ������������������������������������������������������������������132 Add a Skeleton ������������������������������������������������������������������������������������134 Hide the Cubes ������������������������������������������������������������������������������������135 Orbit the Skeleton �������������������������������������������������������������������������������136 Make the Skeleton Dance �������������������������������������������������������������������137 Make the Skeleton Dance Forever ������������������������������������������������������139 Add a Dance Floor �������������������������������������������������������������������������������141 Add a Shadow �������������������������������������������������������������������������������������144 Add Music��������������������������������������������������������������������������������������������149 Explore Further ������������������������������������������������������������������������������������153 Unity Manual ���������������������������������������������������������������������������������������������������������153 Reference Manual ������������������������������������������������������������������������������������������������153 Asset Store �����������������������������������������������������������������������������������������������������������154 Computer Graphics �����������������������������������������������������������������������������������������������154 ■ Chapter 6: Let’s Roll! Physics and Controls ��������������������������������155 Make a New Scene �����������������������������������������������������������������������������155 Delete GameObjects ���������������������������������������������������������������������������������������������157 Adjust the Light ����������������������������������������������������������������������������������������������������157 ix ■ Contents Retile the Floor �����������������������������������������������������������������������������������������������������158 Reset the Camera �������������������������������������������������������������������������������������������������162 Make a Ball������������������������������������������������������������������������������������������163 Make a Sphere������������������������������������������������������������������������������������������������������163 Make It Fall �����������������������������������������������������������������������������������������������������������166 Customize the Collision �����������������������������������������������������������������������170 PhysicMaterials ����������������������������������������������������������������������������������������������������171 Standard PhysicMaterials �������������������������������������������������������������������������������������171 Anatomy of a PhysicMaterial ��������������������������������������������������������������������������������172 Apply the PhysicMaterial ��������������������������������������������������������������������������������������174 Make a New PhysicMaterial ���������������������������������������������������������������������������������175 Make It Roll �����������������������������������������������������������������������������������������177 Create the Script ���������������������������������������������������������������������������������������������������177 Update: Gather Input ���������������������������������������������������������������������������������������������177 FixedUpdate: Use the Force ����������������������������������������������������������������������������������179 Is It Rolling? ����������������������������������������������������������������������������������������������������������180 Limit the Speed ����������������������������������������������������������������������������������������������������183 The Complete Script ���������������������������������������������������������������������������������������������184 Be the Ball �������������������������������������������������������������������������������������������184 Explore Further ������������������������������������������������������������������������������������186 Unity Manual ���������������������������������������������������������������������������������������������������������187 Reference Manual ������������������������������������������������������������������������������������������������187 Scripting Reference ����������������������������������������������������������������������������������������������187 On the Web �����������������������������������������������������������������������������������������������������������188 ■ Chapter 7: Let’s Bowl! Advanced Physics ����������������������������������189 Lengthen the Lane �������������������������������������������������������������������������������189 Make Some Pins ����������������������������������������������������������������������������������190 Place the Pins in the Scene �����������������������������������������������������������������192 x
Description: