Unity2D游戏开发

Unity2D游戏开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Jared Halpern) , ,
2020-06
ISBN: 9787302550525
定价: 79.80
装帧: 其他
66人买过
  •    《Unity 2D游戏开发》既是C#(Unity引擎的业界标准语言)语言的真实演练,也是包含脚本编写、玩家输入管理、资源使用、动画、碰撞检测和状态管理的重要的Unity核心课程。除基础知识外,你还将学习最佳编程实践,有用的游戏架构模式设计,以及如何自定义Unity使其符合自己的需要。所有内容旨在构建运行良好的2D游戏。 
       通过专注于2D游戏和Unity不断扩展的2D工作流程,本书深入探讨了一些非常有用的2D主题,如精灵图集、瓦片切割以及全新的Tilemap(瓦片地图)功能。全新的分发渠道,如App Store、Google Play、itch.io、Steam以及GOG.com,让发现、购买和销售游戏比以往任何时候都容易。 

    ared Halpern是一名拥有计算机科学背景和超过12年各种技术工作经验的软件开发人员。最近他专注于Apple和Unity。多年来,Jared已经开发了许多iPhone应用程序,包括游戏、增强现实(AR)、摄影、电子商务、视频和GIF应用程序。他的兴趣包括Swift、Unity、AR、游戏开发,以及使用这些技术开发的创造性应用程序。他对游戏开发充满热情,希望将游戏作为一种交互媒介用于讲故事,以及提供其他媒介无法提供的体验。他目前喜欢做一名自由软件开发人员。 目    录 

     
    第1章  游戏与游戏引擎  1 
    1.1  游戏引擎――它们是什么  1 
    1.1.1  建造房子的第一种方法  2 
    1.1.2  建造房子的第二种方法  3 
    1.1.3  关于第一种方法  3 
    1.1.4  关于第二种方法  3 
    1.1.5  结论  4 
    1.2  历史上的游戏引擎  4 
    1.3  今天的游戏引擎  5 
    1.4  Unity游戏引擎  6 
    1.5  本章小结  7 
    第2章  Unity简介  9 
    2.1  安装Unity  9 
    2.2  Unity配置  10 
    2.3  脚本编辑器:Visual Studio  12 
    2.4  浏览Unity界面  12 
    2.5  了解不同的视图  13 
    2.6  配置和自定义布局  15 
    2.7  Transform Toolset  15 
    2.8  Handle Position Controls  16 
    2.9  Play、Pause和 Step控制按钮  17 
    2.10  Unity项目结构  18 
    2.11  Unity文档  19 
    2.12  本章小结  19 
    第3章  Unity基础  21 
    3.1  Game Object:容器实体  21 
    3.2  Entity-Component Design  22 
    3.3  Components: Building Blocks  23 
    3.4  精灵  24 
    3.5  动画  30 
    3.6  碰撞器(Collider)  35 
    3.7  Rigidbody(刚体)组件  36 
    3.8  标签和层  37 
    3.8.1  标签(Tag)  37 
    3.8.2  层(Layer)  38 
    3.8.3  Sorting Layer(排序层)  39 
    3.9  预制件(Prefab)介绍  41 
    3.10  脚本:组件逻辑  43 
    3.11  状态和动画  50 
    3.11.1  多状态机  50 
    3.11.2  动画参数  52 
    3.12  本章小结  60 
    第4章  构建游戏世界  61 
    4.1  Tilemap和Tile Palette  61 
    4.2  创建Tile Palette  62 
    4.3  用Tile Palette绘制地图  64 
    4.4  使用多个Tilemap  66 
    4.5  图形设置  69 
    4.6  摄像机  70 
    4.7  使用Cinemachine  73 
    4.8  虚拟摄像机  75 
    4.9  稳定性  82 
    4.10  材质  85 
    4.11  碰撞器和Tilemap  86 
    4.11.1  Tilemap Collider 2D  86 
    4.11.2  复合碰撞器  88 
    4.11.3  编辑Physics Shape  90 
    4.12  本章小结  93 
    第5章  整合游戏  95 
    5.1  Character类  95 
    5.2  Player类  96 
    5.3  聚焦预制件  97 
    5.3.1  创建硬币预制件  98 
    5.3.2  设置Circle Collider 2D  98 
    5.3.3  设置自定义标签  99 
    5.4  基于层的碰撞检测  100 
    5.5  触发器和脚本  102 
    5.6  Scriptable Object(脚本化对象)  103 
    5.6.1  创建一个Scriptable Object  104 
    5.6.2  构建Consumable脚本  107 
    5.6.3  组装我们的道具  108 
    5.6.4  玩家碰撞  109 
    5.6.5  创建用于增加生命值的道具(Heart Power-Up)  111 
    5.7  本章小结  116 
    第6章  生命条与背包  117 
    6.1  创建生命条  117 
    6.1.1  Canvas对象  117 
    6.1.2  UI元素  117 
    6.1.3  构建生命条  118 
    6.1.4  锚点  120 
    6.1.5  调整锚点  121 
    6.1.6  用户界面图像遮罩(UI Image Mask)  123 
    6.1.7  导入自定义字体  126 
    6.1.8  添加生命值文本  126 
    6.1.9  编写HealthBar.cs脚本  128 
    6.1.10  Scriptable Object:HitPoints  128 
    6.1.11  更新Character.cs脚本  129 
    6.1.12  更新Player.cs脚本  129 
    6.1.13  创建HealthBar.cs脚本  133 
    6.1.14  配置Health Bar组件  135 
    6.2  背包  138 
    6.2.1  导入背包格子图像  140 
    6.2.2  配置背包格子  141 
    6.2.3  创建Inventory.cs脚本  147 
    6.3  本章小结  157 
    第7章  角色、协程和生成点  159 
    7.1  创建Game Manager  159 
    7.2  单例(Singleton)  159 
    7.2.1  创建单例  160 
    7.2.2  创建RPGGameManager预制件  162 
    7.3  Spawn Point(生成点)  162 
    7.3.1  构建SpawnPoint预制件  165 
    7.3.2  配置Player Spawn Point  167 
    7.3.3  生成玩家  168 
    7.3.4  小结  169 
    7.3.5  敌人Spawn Point  169 
    7.4  Camera Manager(摄像机管理器)  170 
    7.4.1  使用Camera Manager  172 
    7.4.2  设计Character类  174 
    7.4.3  virtual关键字  174 
    7.5  Enemy类  175 
    7.5.1  重构  175 
    7.5.2  internal(内部)访问修饰符  176 
    7.6  协程(Coroutine)  177 
    7.6.1  调用协程  177 
    7.6.2  暂停或“让步”执行  177 
    7.6.3  一个完整的协程  177 
    7.6.4  具有时间间隔的协程  178 
    7.6.5  abstract关键字  178 
    7.6.6  实现Enemy类  179 
    7.6.7  DamageCharacter()方法  180 
    7.6.8  ResetCharacter()  182 
    7.6.9  在OnEnable()中调用ResetCharacter()  182 
    7.6.10  KillCharacter()  182 
    7.7  更新Player类  183 
    7.7.1  重构预制件的实例化  184 
    7.7.2  回顾  185 
    7.7.3  使用已经构建的功能  185 
    7.7.4  OnCollisionEnter2D()方法  186 
    7.7.5  OnCollisionExit2D()方法  187 
    7.7.6  配置Enemy.cs脚本  188 
    7.8  本章小结  188 
    第8章  人工智能和弹弓武器  189 
    8.1  漫游算法  189 
    8.1.1  入门  190 
    8.1.2  创建漫游脚本  191 
    8.1.3  漫游变量  191 
    8.1.4  构建Start()方法  193 
    8.1.5  漫游协程  194 
    8.2  选择一个新的端点  196 
    8.2.1  角度变弧度,再变向量  197 
    8.2.2  敌人行走动画  197 
    8.2.3  Move()协程  200 
    8.2.4  配置漫游脚本  203 
    8.2.5  OnTriggerEnter2D()方法  203 
    8.2.6  OnTriggerExit2D()方法  205 
    8.2.7  Gizmo  206 
    8.3  自我防卫(Self-Defense)  209 
    8.4  Ammo类  210 
    8.4.1  导入资源  210 
    8.4.2  添加组件,设置图层  210 
    8.4.3  更新图层碰撞矩阵  211 
    8.4.4  构建Ammo.cs脚本  211 
    8.4.5  在我们忘记之前制作AmmoObject预制件  213 
    8.5  对象池(Object Pooling)  213 
    8.6  创建Weapon类  214 
    8.6.1  Stubbing-Out方法  216 
    8.6.2  SpawnAmmo()方法  218 
    8.6.3  Arc类和线性插值  220 
    8.6.4  屏幕点和世界点  222 
    8.6.5  FireAmmo()方法  223 
    8.6.7  配置Weapon.cs脚本  225 
    8.6.8  沿弧线运动  225 
    8.7  添加弹弓动画  227 
    8.8  混合树  228 
    8.8.1  清理动画器  228 
    8.8.2  构建行走混合树  229 
    8.8.3  层和多层嵌套  231 
    8.8.4  关于混合类型(Blend Type)  231 
    8.8.5  Animation Parameter(动画参数)  232 
    8.8.6  使用参数  232 
    8.8.7  好了,但为什么呢  234 
    8.8.8  循环时间  235 
    8.8.9  创建转换  236 
    8.9  更新运动控制器  236 
    8.9.1  导入战斗精灵  237 
    8.9.2  创建动画剪辑  238 
    8.9.3  构建战斗混合树  239 
    8.9.4  Exit Time(退出时间)  240 
    8.9.5  更新Weapon类  240 
    8.9.6  添加变量  241 
    8.9.7  Start()方法  242 
    8.9.8  更新Update()方法  243 
    8.9.9  确定方向  243 
    8.9.10  斜率方法  245 
    8.9.11  计算斜率  246 
    8.9.12  比较y轴截距  247 
    8.9.13  HigherThanNegative-SlopeLine()方法  248 
    8.9.14  GetQuadrant()方法  248 
    8.9.15  UpdateState()方法  250 
    8.10  受到伤害时闪烁  252 
    8.11  在其他平台上运行游戏  254 
    8.12  退出游戏  255 
    8.13  本章小结  256 
    8.14  未来方向  256 
    8.14.1  社区  256 
    8.14.2  了解更多信息  257 
    8.14.3  去哪里寻求帮助  257 
    8.14.4  Game Jams  257 
    8.14.5  新闻和文章  258 
    8.14.6  游戏和资源  258 
    8.15  超越  258 

  • 内容简介:
       《Unity 2D游戏开发》既是C#(Unity引擎的业界标准语言)语言的真实演练,也是包含脚本编写、玩家输入管理、资源使用、动画、碰撞检测和状态管理的重要的Unity核心课程。除基础知识外,你还将学习最佳编程实践,有用的游戏架构模式设计,以及如何自定义Unity使其符合自己的需要。所有内容旨在构建运行良好的2D游戏。 
       通过专注于2D游戏和Unity不断扩展的2D工作流程,本书深入探讨了一些非常有用的2D主题,如精灵图集、瓦片切割以及全新的Tilemap(瓦片地图)功能。全新的分发渠道,如App Store、Google Play、itch.io、Steam以及GOG.com,让发现、购买和销售游戏比以往任何时候都容易。 

  • 作者简介:
    ared Halpern是一名拥有计算机科学背景和超过12年各种技术工作经验的软件开发人员。最近他专注于Apple和Unity。多年来,Jared已经开发了许多iPhone应用程序,包括游戏、增强现实(AR)、摄影、电子商务、视频和GIF应用程序。他的兴趣包括Swift、Unity、AR、游戏开发,以及使用这些技术开发的创造性应用程序。他对游戏开发充满热情,希望将游戏作为一种交互媒介用于讲故事,以及提供其他媒介无法提供的体验。他目前喜欢做一名自由软件开发人员。
  • 目录:
    目    录 

     
    第1章  游戏与游戏引擎  1 
    1.1  游戏引擎――它们是什么  1 
    1.1.1  建造房子的第一种方法  2 
    1.1.2  建造房子的第二种方法  3 
    1.1.3  关于第一种方法  3 
    1.1.4  关于第二种方法  3 
    1.1.5  结论  4 
    1.2  历史上的游戏引擎  4 
    1.3  今天的游戏引擎  5 
    1.4  Unity游戏引擎  6 
    1.5  本章小结  7 
    第2章  Unity简介  9 
    2.1  安装Unity  9 
    2.2  Unity配置  10 
    2.3  脚本编辑器:Visual Studio  12 
    2.4  浏览Unity界面  12 
    2.5  了解不同的视图  13 
    2.6  配置和自定义布局  15 
    2.7  Transform Toolset  15 
    2.8  Handle Position Controls  16 
    2.9  Play、Pause和 Step控制按钮  17 
    2.10  Unity项目结构  18 
    2.11  Unity文档  19 
    2.12  本章小结  19 
    第3章  Unity基础  21 
    3.1  Game Object:容器实体  21 
    3.2  Entity-Component Design  22 
    3.3  Components: Building Blocks  23 
    3.4  精灵  24 
    3.5  动画  30 
    3.6  碰撞器(Collider)  35 
    3.7  Rigidbody(刚体)组件  36 
    3.8  标签和层  37 
    3.8.1  标签(Tag)  37 
    3.8.2  层(Layer)  38 
    3.8.3  Sorting Layer(排序层)  39 
    3.9  预制件(Prefab)介绍  41 
    3.10  脚本:组件逻辑  43 
    3.11  状态和动画  50 
    3.11.1  多状态机  50 
    3.11.2  动画参数  52 
    3.12  本章小结  60 
    第4章  构建游戏世界  61 
    4.1  Tilemap和Tile Palette  61 
    4.2  创建Tile Palette  62 
    4.3  用Tile Palette绘制地图  64 
    4.4  使用多个Tilemap  66 
    4.5  图形设置  69 
    4.6  摄像机  70 
    4.7  使用Cinemachine  73 
    4.8  虚拟摄像机  75 
    4.9  稳定性  82 
    4.10  材质  85 
    4.11  碰撞器和Tilemap  86 
    4.11.1  Tilemap Collider 2D  86 
    4.11.2  复合碰撞器  88 
    4.11.3  编辑Physics Shape  90 
    4.12  本章小结  93 
    第5章  整合游戏  95 
    5.1  Character类  95 
    5.2  Player类  96 
    5.3  聚焦预制件  97 
    5.3.1  创建硬币预制件  98 
    5.3.2  设置Circle Collider 2D  98 
    5.3.3  设置自定义标签  99 
    5.4  基于层的碰撞检测  100 
    5.5  触发器和脚本  102 
    5.6  Scriptable Object(脚本化对象)  103 
    5.6.1  创建一个Scriptable Object  104 
    5.6.2  构建Consumable脚本  107 
    5.6.3  组装我们的道具  108 
    5.6.4  玩家碰撞  109 
    5.6.5  创建用于增加生命值的道具(Heart Power-Up)  111 
    5.7  本章小结  116 
    第6章  生命条与背包  117 
    6.1  创建生命条  117 
    6.1.1  Canvas对象  117 
    6.1.2  UI元素  117 
    6.1.3  构建生命条  118 
    6.1.4  锚点  120 
    6.1.5  调整锚点  121 
    6.1.6  用户界面图像遮罩(UI Image Mask)  123 
    6.1.7  导入自定义字体  126 
    6.1.8  添加生命值文本  126 
    6.1.9  编写HealthBar.cs脚本  128 
    6.1.10  Scriptable Object:HitPoints  128 
    6.1.11  更新Character.cs脚本  129 
    6.1.12  更新Player.cs脚本  129 
    6.1.13  创建HealthBar.cs脚本  133 
    6.1.14  配置Health Bar组件  135 
    6.2  背包  138 
    6.2.1  导入背包格子图像  140 
    6.2.2  配置背包格子  141 
    6.2.3  创建Inventory.cs脚本  147 
    6.3  本章小结  157 
    第7章  角色、协程和生成点  159 
    7.1  创建Game Manager  159 
    7.2  单例(Singleton)  159 
    7.2.1  创建单例  160 
    7.2.2  创建RPGGameManager预制件  162 
    7.3  Spawn Point(生成点)  162 
    7.3.1  构建SpawnPoint预制件  165 
    7.3.2  配置Player Spawn Point  167 
    7.3.3  生成玩家  168 
    7.3.4  小结  169 
    7.3.5  敌人Spawn Point  169 
    7.4  Camera Manager(摄像机管理器)  170 
    7.4.1  使用Camera Manager  172 
    7.4.2  设计Character类  174 
    7.4.3  virtual关键字  174 
    7.5  Enemy类  175 
    7.5.1  重构  175 
    7.5.2  internal(内部)访问修饰符  176 
    7.6  协程(Coroutine)  177 
    7.6.1  调用协程  177 
    7.6.2  暂停或“让步”执行  177 
    7.6.3  一个完整的协程  177 
    7.6.4  具有时间间隔的协程  178 
    7.6.5  abstract关键字  178 
    7.6.6  实现Enemy类  179 
    7.6.7  DamageCharacter()方法  180 
    7.6.8  ResetCharacter()  182 
    7.6.9  在OnEnable()中调用ResetCharacter()  182 
    7.6.10  KillCharacter()  182 
    7.7  更新Player类  183 
    7.7.1  重构预制件的实例化  184 
    7.7.2  回顾  185 
    7.7.3  使用已经构建的功能  185 
    7.7.4  OnCollisionEnter2D()方法  186 
    7.7.5  OnCollisionExit2D()方法  187 
    7.7.6  配置Enemy.cs脚本  188 
    7.8  本章小结  188 
    第8章  人工智能和弹弓武器  189 
    8.1  漫游算法  189 
    8.1.1  入门  190 
    8.1.2  创建漫游脚本  191 
    8.1.3  漫游变量  191 
    8.1.4  构建Start()方法  193 
    8.1.5  漫游协程  194 
    8.2  选择一个新的端点  196 
    8.2.1  角度变弧度,再变向量  197 
    8.2.2  敌人行走动画  197 
    8.2.3  Move()协程  200 
    8.2.4  配置漫游脚本  203 
    8.2.5  OnTriggerEnter2D()方法  203 
    8.2.6  OnTriggerExit2D()方法  205 
    8.2.7  Gizmo  206 
    8.3  自我防卫(Self-Defense)  209 
    8.4  Ammo类  210 
    8.4.1  导入资源  210 
    8.4.2  添加组件,设置图层  210 
    8.4.3  更新图层碰撞矩阵  211 
    8.4.4  构建Ammo.cs脚本  211 
    8.4.5  在我们忘记之前制作AmmoObject预制件  213 
    8.5  对象池(Object Pooling)  213 
    8.6  创建Weapon类  214 
    8.6.1  Stubbing-Out方法  216 
    8.6.2  SpawnAmmo()方法  218 
    8.6.3  Arc类和线性插值  220 
    8.6.4  屏幕点和世界点  222 
    8.6.5  FireAmmo()方法  223 
    8.6.7  配置Weapon.cs脚本  225 
    8.6.8  沿弧线运动  225 
    8.7  添加弹弓动画  227 
    8.8  混合树  228 
    8.8.1  清理动画器  228 
    8.8.2  构建行走混合树  229 
    8.8.3  层和多层嵌套  231 
    8.8.4  关于混合类型(Blend Type)  231 
    8.8.5  Animation Parameter(动画参数)  232 
    8.8.6  使用参数  232 
    8.8.7  好了,但为什么呢  234 
    8.8.8  循环时间  235 
    8.8.9  创建转换  236 
    8.9  更新运动控制器  236 
    8.9.1  导入战斗精灵  237 
    8.9.2  创建动画剪辑  238 
    8.9.3  构建战斗混合树  239 
    8.9.4  Exit Time(退出时间)  240 
    8.9.5  更新Weapon类  240 
    8.9.6  添加变量  241 
    8.9.7  Start()方法  242 
    8.9.8  更新Update()方法  243 
    8.9.9  确定方向  243 
    8.9.10  斜率方法  245 
    8.9.11  计算斜率  246 
    8.9.12  比较y轴截距  247 
    8.9.13  HigherThanNegative-SlopeLine()方法  248 
    8.9.14  GetQuadrant()方法  248 
    8.9.15  UpdateState()方法  250 
    8.10  受到伤害时闪烁  252 
    8.11  在其他平台上运行游戏  254 
    8.12  退出游戏  255 
    8.13  本章小结  256 
    8.14  未来方向  256 
    8.14.1  社区  256 
    8.14.2  了解更多信息  257 
    8.14.3  去哪里寻求帮助  257 
    8.14.4  Game Jams  257 
    8.14.5  新闻和文章  258 
    8.14.6  游戏和资源  258 
    8.15  超越  258 

查看详情
相关图书 / 更多
Unity2D游戏开发
Unreal Engine 5完全自学教程
崔润(同步Sch)
Unity2D游戏开发
Unity 2D游戏开发
[美]弗兰茨·兰辛格 (Franz Lanzinger)著 周子衿 译
Unity2D游戏开发
Unity 3D游戏开发(第3版)
宣雨松
Unity2D游戏开发
Unity实战(第3版)
[美]约瑟夫·霍金(Joseph Hocking)著 王冬 殷崇英 译
Unity2D游戏开发
Unity3D虚拟现实应用开发实践())
刘龙
Unity2D游戏开发
Unity互动媒体设计实例教程
赵志靖;周静
Unity2D游戏开发
Unity 3D游戏开发
[美]弗兰茨·兰辛格 (Franz Lanzinger)著 周子衿 译
Unity2D游戏开发
Unity实战技巧精粹:290秘技大全
[日]药师寺国安
Unity2D游戏开发
Unity 3D游戏开发技术详解与典型案例
吴亚峰
Unity2D游戏开发
Unreal Engine 5从入门到精通
左未
Unity2D游戏开发
Unity游戏开发入门经典(第4版)
(美)迈克·吉格(Mike Geig)
Unity2D游戏开发
Unity Shader入门与实战
黄志翔
您可能感兴趣 / 更多
Unity2D游戏开发
亚拉山大的读心术(数学大师的逻辑课) 伦理学、逻辑学 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
Unity2D游戏开发
纳博科夫精选集第五辑
[美]弗拉基米尔·纳博科夫著
Unity2D游戏开发
九桃盘(美国二十世纪重要女诗人玛丽安·摩尔诗歌精选集,由知名女诗人和女性诗学研究者倪志娟倾情翻译)
[美]玛丽安•摩尔
Unity2D游戏开发
全新正版图书 制造德·戴维尼浙江教育出版社9787572276880
[美]理查德·戴维尼
Unity2D游戏开发
血泪之泣
[美]希瑟·丘·麦克亚当
Unity2D游戏开发
(当代学术棱镜译丛)艺术批评入门:历史、策略与声音
[美]克尔·休斯顿
Unity2D游戏开发
金钱游戏(划时代增订版):深层透析金融游戏表象之下的规则与黑箱 长达60年盘踞金融畅销榜的现象级作品
[美]亚当·史密斯(Adam Smith) 著;刘寅龙 译
Unity2D游戏开发
波西·杰克逊阿波罗的试炼系列第3册:烈焰迷宫
[美]雷克·莱尔顿 著;火皮豆 译
Unity2D游戏开发
矿王谷的黎明:塞拉俱乐部诉莫顿案与美国环境法的转变(精装典藏版)
[美]丹尼尔·P.塞尔米,(Daniel,P.Selmi)
Unity2D游戏开发
体式神话:瑜伽传统故事精粹(第二版) (从30个体式古老起源中汲取灵感与力量,内附精美插图)
[美]阿兰娜·凯瓦娅(Alanna Kaivalya)[荷]阿诸那·范德·库伊(Arjuna van der Kooij)
Unity2D游戏开发
诺奖作家给孩子的阅读课·生命教育(3-9年级,莫言余华的文学启蒙,垫高阅读起点,提升作文能力)
[美]海明威等
Unity2D游戏开发
蚯蚓的日记(全4册)【平装版】
[美]朵琳·克罗宁