书籍详情
《图灵原创:UnityAPI解析》[56M]百度网盘|亲测有效|pdf下载
  • 图灵原创:UnityAPI解析

  • 出版社:人民邮电出版社
  • 出版时间:2014-08
  • 热度:7425
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

  国内首本深度解析Unity API的著作。
  全面深入的注解,可以让Unity新手轻松上手并快速提升能力。

内容简介

  《图灵原创:Unity API解析》挑选了Unity 引擎里一些核心API 类,例如 Object、GameObject、Rigidbody、Transform、Camera、Quaternion、Vector3 等进行了详细的功能注解,注解内容包括API 的使用方法、算法分析、边界条件、参数间的制约关系及注意事项等,特别是对很多功能相近或使用方法相似的API 进行了较为详细的比较说明。
  《图灵原创:Unity API解析》适用于对Unity 有一定了解的入门开发人员,也可作为Unity 开发者的参考手册。

作者简介

  陈泉宏,毕业于北京工业大学,本科主修数学,研究生主修计算机技术,喜欢钻研技术和独立思考。2010年开始接触Android程序开发,是音乐识别软件“音乐雷达”的开发者之一,曾独立开发和发布过多个应用程序。2011年开始接触Unity,现在就职于北京市计算中心,主要负责中国科学技术馆的虚拟装配项目。

内页插图

目录

第1章 Application类
1.1 Application类静态属性
1.1.1 dataPath属性:数据文件路径
1.1.2 loadedLevel属性:关卡索引
1.2 Application类静态方法
1.2.1 CaptureScreenshot方法:截屏
1.2.2 LoadLevelAdditiveAsync方法:异步加载关卡
1.2.3 RegisterLogCallback方法:注册委托
第2章 Camera类
2.1 Camera类实例属性
2.1.1 aspect属性:设置摄像机视口比例
2.1.2 cameraToWorldMatrix属性:变换矩阵
2.1.3 cullingMask属性:摄像机按层渲染
2.1.4 eventMask属性:按层响应事件
2.1.5 layerCullDistances属性:层消隐的距离
2.1.6 layerCullSpherical属性:基于球面距离剔除
2.1.7 orthographic属性:摄像机投影模式
2.1.8 pixelRect属性:摄像机渲染区间
2.1.9 projectionMatrix属性:自定义投影矩阵
2.1.10 rect属性:摄像机视图的位置和大小
2.1.11 renderingPath属性:渲染路径
2.1.12 targetTexture属性:目标渲染纹理
2.1.13 worldToCameraMatrix属性:变换矩阵
2.2 Camera类实例方法
2.2.1 RenderToCubemap方法:生成Cubemap静态贴图
2.2.2 RenderWithShader方法:使用其他shader渲染
2.2.3 ScreenPointToRay方法:近视口到屏幕的射线
2.2.4 ScreenToViewportPoint方法:坐标系转换
2.2.5 ScreenToWorldPoint方法:坐标系转换
2.2.6 SetTargetBuffers方法:重设摄像机到TargetTexture的渲染
2.2.7 ViewportPointToRay方法:近视口到屏幕的射线
2.2.8 ViewportToWorldPoint方法:坐标点的坐标系转换
2.2.9 WorldToScreenPoint方法:坐标点的坐标系转换
2.2.10 WorldToViewportPoint方法:坐标点的坐标系转换
2.3 关于Camera视口、aspect、pixelRect及rect的关系注解
第3章 GameObject类
3.1 GameObject类实例属性
3.2 GameObject构造方法
3.3 GameObject类实例方法
3.3.1 GetComponent方法:获取组件
3.3.2 SendMessage方法:发送消息
3.4 GameObject类静态方法
3.5 关于GameObject类和Component类的使用注解
第4章 HideFlags类
4.1 HideFlags类枚举成员
4.1.1 DontSave:保留对象到新场景
4.1.2 HideAndDontSave:保留对象到新场景
4.1.3 HideInHierarchy:在Hierarchy面板中隐藏
4.1.4 HideInInspector:在Inspector面板中隐藏
4.1.5 None:HideFlags默认值
4.1.6  NotEditable:对象在Inspector面板中的可编辑性
4.2 HideFlags类使用小结
第5章 Mathf类
5.1 Mathf类静态属性
5.1.1 Deg2Rad属性:从角度到弧度常量
5.1.2 Infinity属性:正穷大
5.2 Mathf类静态方法
5.2.1 Clamp方法:返回有限范围值
5.2.2 ClosestPowerOfTwo方法:返回2的某次幂
5.2.3 DeltaAngle方法:最小增量角度
5.2.4 InverseLerp方法:计算比例值
5.2.5 Lerp方法:线性插值
5.2.6 LerpAngle方法:角度插值
5.2.7 MoveTowards方法:选择性插值
5.2.8 MoveTowardsAngle方法:角度的选择性插值
5.2.9 PingPong方法:往复运动
5.2.10 Repeat方法:取模运算
5.2.11 Round方法:浮点数的整型值
5.2.12 SmoothDamp方法:模拟阻尼运动
5.2.13 SmoothDampAngle方法:阻尼旋转
5.2.14 SmoothStep方法:平滑插值
第6章 Matrix4x4类
6.1 Matrix4x4类实例方法
6.1.1 MultiplyPoint方法:投影矩阵变换
6.1.2 MultiplyPoint3x4方法:矩阵变换
6.1.3 MultiplyVector方法:矩阵变换
6.1.4 SetTRS方法:重设Matrix4x4变换矩阵
6.2 Matrix4x4类静态方法
6.2.1 Ortho方法:创建正交投影矩阵
6.2.2 Perspective方法:创建透视投影矩阵
6.2.3 TRS方法:返回Matrix4x4实例
第7章 Object类
7.1 Object类实例方法
7.2 Object类静态方法
7.2.1 Destroy方法:销毁对象
7.2.2 DontDestroyOnLoad方法:新场景中保留对象
7.2.3 FindObjectsOfType方法:获取对象
7.2.4 Instantiate方法:实例化对象
第8章 Quaternion类
8.1 Quaternion类实例属性
8.2 Quaternion类实例方法
8.2.1 SetFromToRotation方法:创建rotation实例
8.2.2 SetLookRotation方法:设置Quaternion实例的朝向
8.2.3  ToAngleAxis方法:Quaternion实例的角轴表示
8.3 Quaternion类静态方法
8.3.1 Angle方法:Quaternion实例间夹角
8.3.2 Dot方法:点乘
8.3.3 Euler方法:欧拉角对应的四元数
8.3.4 FromToRotation方法:Quaternion变换
8.3.5  Inverse方法:逆向Quaternion值
8.3.6 Lerp方法:线性插值
8.3.7 LookRotation方法:设置Quaternion的朝向
8.3.8 RotateTowards方法:Quaternion插值
8.3.9 Slerp方法:球面插值
8.4 Quaternion类运算符
8.4.1  operator*(lhs:Quaternion, rhs:Quaternion)
8.4.2  operator*(rotation:Quaternion,point:Vector3)
8.5 关于Quaternion类中相乘运算符的两种重载方式的注解
第9章 Random类
9.1 Random类静态属性
9.1.1 insideUnitCircle属性:圆内随机点
9.1.2 rotationUniform属性:均匀分布特征
9.1.3 seed属性:随机数种子
9.2 Random类其他常用静态属性功能简介
第10章 Rigidbody类
10.1 Rigidbody类实例属性
10.1.1 collisionDetectionMode属性:碰撞检测模式
10.1.2 drag属性:刚体阻力
10.1.3 inertiaTensor属性:惯性张量
10.1.4 mass属性:刚体质量
10.1.5 velocity属性:刚体速度
10.2 Rigidbody类实例方法
10.2.1  AddExplosionForce方法:模拟爆炸力
10.2.2 AddForceAtPosition方法:增加刚体点作用力
10.2.3 AddTorque方法:刚体添加扭矩
10.2.4 ClosestPointOnBounds方法:爆炸点到刚体最短距离
10.2.5 GetPointVelocity方法:刚体点速度
10.2.6 GetRelativePointVelocity方法:刚体点相对速度
10.2.7 MovePosition方法:刚体位置移动
10.2.8 Sleep方法:刚体休眠
10.2.9 SweepTest方法:检测碰撞器
10.2.10 SweepTestAll方法:探测碰撞器
10.2.11 WakeUp方法:唤醒刚体
10.3 关于useGravity、isKinematic和velocity的使用注解
10.4 关于Rigidbody中mass、density及scale之间的关系注解
10.5 关于作用力方式ForceMode的功能注解
10.6 关于OnTriggerXXX和OnCollisionXXX的功能注解
第11章 Time类
11.1 Time类静态属性
11.1.1  realtimeSinceStartup属性:程序运行实时时间
11.1.2 smoothDeltaTime属性:平滑时间间隔
11.1.3 time属性:程序运行时间
11.2 Time类其他常用静态属性功能简介
第12章 Transform类
12.1 Transform类实例属性
12.1.1 eulerAngles属性:欧拉角
12.1.2 forward属性:z轴单位向量
12.1.3 hasChanged属性:transform组件是否被修改
12.1.4 localPosition属性:局部坐标系位置
12.1.5 localToWorldMatrix属性:转换矩阵
12.1.6 parent属性:父物体Transform实例
12.1.7 worldToLocalMatrix属性:转换矩阵
12.2 Transform类实例方法
12.2.1 DetachChildren方法:分离物体层级关系
12.2.2 GetChild方法:获取GameObject对象子类
12.2.3 InverseTransformDirection方法:坐标系转换
12.2.4 InverseTransformPoint方法:点的相对坐标向量
12.2.5 IsChildOf方法:是否为子物体
12.2.6 LookAt方法:物体朝向
12.2.7 Rotate方法:绕坐标轴旋转
12.2.8 Rotate方法:绕某个向量旋转
12.2.9 RotateAround方法:绕轴点旋转
12.2.10 TransformDirection方法:坐标系转换
12.2.11 TransformPoint方法:点的世界坐标位置
12.2.12 Translate方法:相对坐标系移动
12.2.13 Translate方法:相对其他物体移动
12.3 关于localScale和lossyScale的功能注解
12.4 关于Transform类中涉及空间变换的几个属性和方法的功能注解
第13章 Vector2类
13.1 Vector2类实例方法
13.2 Vector2类静态方法
13.2.1 Angle方法:两个向量夹角
13.2.2 ClampMagnitude方法:向量长度
13.2.3 Lerp方法:向量插值
13.2.4 MoveTowards方法:向量插值
13.2.5 Scale方法:向量放缩
13.3 Vector2类运算符
第14章 Vector3类
14.1 Vector3类实例属性
14.1.1 normalized属性:单位化向量
14.1.2 sqrMagnitude属性:模长平方
14.2 Vector3类实例方法
14.3 Vector3类静态方法
14.3.1 Angle方法:求两个向量夹角
14.3.2 ClampMagnitude方法:向量长度
14.3.3 Cross方法:向量叉乘
14.3.4 Dot方法:向量点乘
14.3.5 Lerp方法:向量插值
14.3.6 MoveTowards方法:向量插值
14.3.7 OrthoNormalize方法:两个坐标轴的正交化
14.3.8 OrthoNormalize方法:3个坐标轴的正交化
14.3.9 Project方法:投影向量
14.3.10 Reflect方法:反射向量
14.3.11 RotateTowards方法:球形插值
14.3.12 Scale方法:向量放缩
14.3.13 Slerp方法:球形插值
14.3.14 SmoothDamp方法:阻尼移动
14.4 Vector3类运算符
14.5 关于Vector3.Lerp和Vector3.MoveTowards的功能注解
14.6 关于Vector3.RotateTowards和Vector3.Slerp的功能注解
第15章 游戏实例--坚守阵地
15.1 游戏概述
15.2 建模与导入
15.3 程序脚本
15.4 制作简单小地图

前言/序言

  从我开始接触Unity到现在已经两年有余。记得刚开始学习Unity的时候甚是惊喜,一是因为Unity具有强大的多平台移植功能,随着移动互联时代的到来,该功能越来越顺应时代潮流;二是因为这个引擎容易上手,3个月的时间足以让一个新手对这套引擎有全面的了解。然而,随着时间的推移,我越来越感觉自己的能力提升似乎遇到了瓶颈。在实际的项目开发过程中,总有一种放不开手脚的感觉,就像自己手里明明有一把屠龙刀,却无法发挥出这把刀真正的威力。Unity是个入门快、提高难的游戏引擎,想提升能力,至少需要越过3道坎:第一道坎就是对API的积累,对API的合理利用不仅可以减轻自己的编码负担,而且往往可以提高程序的运行效率;第二道坎是shader编程,想要做出一款精品游戏往往需要有高效shader的支持;最后一道坎就是综合能力了,一款产品的制作除了功能编程外,往往会涉及很多其他领域,例如产品架构、UI交互设计、模型制作等,作为主要的编程人员,对其他相关领域的了解程度往往会影响到产品的制作直至最后的产品体验。
  目前,Unity引擎的API有好几千个,并且随着Unity版本的更新,API的数量还会不断增长。对API的熟悉程度直接影响着程序的开发效率,熟悉API也成了新手进阶的必经之路。尽管官方给出了较为丰富的API文档,然而这并不能满足实际开发的需要,因为官方给出的API解释往往只描述了相应API的主要功能,缺少对其边界条件的说明和API的算法解释。要知道,在实际开发中,必须要明确API参数的使用范围,否则往往会出现一些无法预料的状况。于是我决定自己来研究。对API的研究几乎占用了我所有的业余时间,在这期间我遇到了各种各样的难题,解决后做了详细的笔记。后来,当笔记积累了厚厚一本的时候,我意识到,也许应该分享出来,使更多的开发者在这上面少花费些时间。于是便有了这本书,希望能对开发者有所帮助。
  阅读说明
  在本书中,以下专业用语的意义是相同的:“变量”与“属性”,“函数”与“方法”,“归一化”与“单位化”。
  本书对API的描述主要分为3个部分:“基本语法”、“功能说明”和“实例演示”。其中,“基本语法”中也包括对API参数的简单说明;“功能说明”是对API功能的详细介绍,例如使用的注意事项、边界条件、算法分析等;“实例演示”主要是结合实际例子来说明API的使用,为了节省篇幅,有些示例代码中会涉及多个API的说明。
  除了对单个API进行解释之外,本书还对一些功能相近或容易混淆的API进行了相应的解释。另外,书中所涉及的API均基于Windows操作系统下Unity 4.3版本进行了测试。
  源码说明
  本书所有“实例演示”的源码都可以在图灵社区本书主页免费注册下载。书中的每个类为一个单独工程,每个工程中场景的命名规则是:API名字_unity。如果想查看某个API的示例代码,只要去API所在的类对应的工程文件里打开API名字对应的场景即可。例如,打开Matrix4x4类中MultiplyVector的实例演示的过程如下所示。