Blue Flower

unity3d脚本编程 使用c语言开发跨平台游戏是一本Unity 3D脚本编程书籍,由陈嘉栋编著。本书内容丰富翔实,以Unity 3D的跨平台基础Mono及其游戏脚本语言C#为基础进行讲解,全面系统地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。作者不仅分析了c#语言在unity3d脚本编程中的知识点,还会带领各位读者走进更加底层的cil代码层,了解unity3d借助mono跨平台的原理,最后还会关注unity3d引擎本身的资源管理理、项目优化以及编译的内容,无论是初次接触Unity 3D脚本编程的新人,还是有一定经验的老手,相信都可以借本书来提高自己在Unity 3D 方面的水平。
202209160045091749770000

内容介绍

《unity3d脚本编程 使用c语言开发跨平台游戏》以Unity 3D的跨平台基础Mono以及其游戏脚本语言C#为基础进行讲解。全面系统地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。第1章主要介绍了Unity 3D引擎的历史以及编辑器的基本知识;第2章主要介绍了Mono,以及Unity 3D利用Mono实现跨平台的原理,并且分析了C#语言为何更加适合Unity 3D游戏开发;第3章到第10章主要介绍了Unity 3D游戏脚本语言C#在使用Unity 3D开发过程中的知识点,包括Unity 3D脚本的类型基础、数据结构、在Unity 3D脚本中使用泛型、使用委托和事件打造自己的消息系统、利用定制特性来拓展Unity 3D的编辑器、Unity 3D协程背后的秘密――迭代器以及可空类型和序列化在Unity 3D中使用的相关知识;第11章到第14章,则主要介绍了Unity 3D的资源管理以及优化和编译的内容。
202209160045094664190001

章节目录

第1 章 Hello Unity 3D 11.1 Unity 3D 游戏引擎进化史 11.2 Unity 3D 编辑器初印象 51.2.1 Project 视图 51.2.2 Inspector 视图81.2.3 Hierarchy 视图 91.2.4 Game 视图 101.2.5 Scene 视图121.2.6 绘图模式 141.2.7 渲染模式161.2.8 场景视图控制 171.2.9 Effects 菜单和Gizmos 菜单181.3 Unity 3D 的组成 181.4 为何需要游戏脚本 201.5 本章总结 21第2 章 Mono 所搭建的脚本核心基础222.1 Mono 是什么222.1.1 Mono 的组成222.1.2 Mono 运行时 232.2 Mono 如何扮演脚本的角色242.2.1 Mono 和脚本 242.2.2 Mono 运行时的嵌入262.3 Unity 3D 为何能跨平台?聊聊CIL382.3.1 Unity 3D 为何能跨平台 382.3.2 CIL 是什么 402.3.3 Unity 3D 如何使用CIL 跨平台 442.4 脚本的选择,C# 或 JavaScript482.4.1 最熟悉的陌生人——UnityScript482.4.2 UnityScript 与 JavaScript 512.4.3 C#与UnityScript 552.5 本章总结57第3 章 Unity 3D 脚本语言的类型系统583.1 C#的类型系统 583.2 值类型和引用类型 653.3 Unity 3D 脚本语言中的引用类型733.4 Unity 3D 游戏脚本中的值类型903.4.1 Vector2、Vector3 以及Vector4 903.4.2 其他常见的值类型943.5 装箱和拆箱953.6 本章总结98第4 章 Unity 3D 中常用的数据结构994.1 Array 数组1004.2 ArrayList 数组1014.3 List<T>数组1024.4 C#中的链表——LinkedList<T>1034.5 队列(Queue<T>)和栈(Stack<T>)1074.6 Hash Table(哈希表)和Dictionary<K,T>(字典)1124.7 本章总结120第5 章 在Unity 3D 中使用泛型1215.1 为什么需要泛型机制1215.2 Unity 3D 中常见的泛型 1245.3 泛型机制的基础1275.3.1 泛型类型和类型参数 1285.3.2 泛型类型和继承1315.3.3 泛型接口和泛型委托 1315.3.4 泛型方法1365.4 泛型中的类型约束和类型推断1395.4.1 泛型中的类型约束1395.4.2 类型推断1445.5 本章总结146第6 章 在Unity 3D 中使用委托1496.1 向Unity 3D 中的SendMessage 和BroadcastMessage 说拜拜1506.2 认识回调函数机制——委托1516.3 委托是如何实现的1546.4 委托是如何调用多个方法的 1606.5 用事件(Event)实现消息系统1646.6 事件是如何工作的 1696.7 定义事件的观察者,实现观察者模式 1726.8 委托的简化语法 1776.8.1 不必构造委托对象1776.8.2 匿名方法 1786.8.3 Lambda 表达式 1966.9 本章总结 201第7 章 Unity 3D 中的定制特性 2027.1 初识特性——Attribute 2027.1.1 DllImport 特性2037.1.2 Serializable 特性 2057.1.3 定制特性到底是谁 2077.2 Unity 3D 中分享的常用定制特性2087.3 定义自己的定制特性类 2137.4 检测定制特性 2167.5 亲手拓展Unity 3D 的编辑器 2177.6 本章总结227第8 章 Unity 3D 协程背后的迭代器 2288.1 初识Unity 3D 中的协程 2288.1.1 使用StartCoroutine 方法开启协程 2298.1.2 使用StopCoroutine 方法停止一个协程 2338.2 使用协程实现延时效果2348.3 Unity 3D 协程背后的秘密——迭代器 2388.3.1 你好,迭代器 2388.3.2 原来是状态机 2428.3.3. 状态管理 2488.4 WWW和协程 2538.5 Unity 3D 协程代码实例 2578.6 本章总结259第9 章 在Unity 3D 中使用可空型 2609.1 如果没有值2609.2 表示空值的一些方案 2619.2.1 使用魔值 2619.2.2 使用标志位 2619.2.3 借助引用类型来表示值类型的空值 2659.3 使用可空值类型 2679.4 可空值类型的简化语法 2729.5 可空值类型的装箱和拆箱 2789.6 本章总结 280第10 章 从序列化和反序列化看Unity 3D 的存储机制 28110.1 初识序列化和反序列化 28110.2 控制类型的序列化和反序列化 29010.2.1 如何使类型可以序列化 29010.2.2 如何选择序列化的字段和控制反序列化的流程 29210.2.3 序列化、反序列化中流的上下文介绍及应用 29610.3 Unity 3D 中的序列化和反序列化 29910.3.1 Unity 3D 的序列化概览 29910.3.2 对Unity 3D 游戏脚本进行序列化的注意事项30210.3.3 如何利用Unity 3D 分享的序列化器对自定义类型进行序列化 30510.4 Prefab 和实例化之谜——序列化和反序列化的过程30910.4.1 认识预制体Prefab 30910.4.2 实例化一个游戏对象31110.4.3 序列化和反序列化之谜31410.5 本章总结317第11 章 移动平台动态读取外部文件 31811.1 假如我想在编辑器里动态读取文件31811.2 移动平台的资源路径问题 32011.3 移动平台读取外部文件的方法32311.4 使用Resources 类加载资源33011.5 使用WWW类加载资源33211.5.1 利用WWW类的构造函数实现资源下载33211.5.2 利用 WWW.LoadFromCacheOrDownload 方法实现资源下载33311.5.3 利用WWWForm 类实现POST 请求33511.6 本章总结335第12 章 在Unity 3D 中使用AssetBundle 33612.1 初识AssetBundle 33612.2 使用AssetBundle 的工作流程33712.2.1 开发阶段 33712.2.2 运行阶段34012.3 如何使用本地磁盘中的AssetBundle 文件34412.4 AssetBundle 文件的平台兼容性34512.5 AssetBundle 如何识别资源34512.6 本章总结346第13 章 Unity 3D 优化34713.1 看看Unity 3D 优化需要从哪里着手 34713.2 CPU 方面的优化34813.2.1 对DrawCall 的优化 34813.2.2 对物理组件的优化 35413.2.3 处理内存,却让CPU 受伤的GC35513.2.4 对代码质量的优化35613.3 对GPU 的优化 35713.3.1 减少绘制的数目35813.3.2 优化显存带宽35813.4 内存的优化 35913.4.1 Unity 3D 的内部内存 35913.4.2 Mono 的托管内存 36013.5 本章总结 363第14 章 Unity 3D 的脚本编译 36514.1 Unity 3D 脚本编译流程概览36514.2 JIT 即时编译36814.2.1 使用编译器将游戏脚本编译为托管模块36814.2.2 托管模块和程序集 36914.2.3 使用JIT 编译执行程序集的代码 37014.2.4 使用JIT 即时编译的优势 37114.3 AOT 提前编译37214.3.1 在Unity 3D 中使用AOT 编译37214.3.2 iOS 平台和Full-AOT 编译 37314.3.3 AOT 编译的优势 37414.4 谁偷了我的热更新?Mono、JIT 还是iOS 37414.4.1 从一个常见的报错说起37514.4.2 美丽的JIT 37714.4.3 模拟JIT 的过程 37814.4.4 iOS 平台的自我保护 38114.5 Unity 3D 项目的编译与发布 38214.5.1 选择游戏场景和目标平台 38214.5.2 Unity 3D 发布项目的内部过程38414.5.3 Unity 3D 部署到Android 平台 38414.5.4 Unity 3D 部署到iOS 平台 38614.6 本章总结 389

使用说明

1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读>

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载