新書推薦:
《
自然之争:1600年以来苏格兰和英格兰北部地区的环境史(新史学译丛)
》
售價:HK$
106.4
《
硝烟下的博弈:工业革命与中西方战争
》
售價:HK$
87.4
《
让内的理性主义 发现无意识之旅
》
售價:HK$
66.1
《
知命不惧:从芝诺到马可·奥勒留的生活艺术
》
售價:HK$
110.9
《
Zemax光学设计从基础到实践
》
售價:HK$
132.2
《
全球化的黎明:亚洲大航海时代
》
售價:HK$
109.8
《
危局
》
售價:HK$
84.0
《
穿裙子的士:叶嘉莹传
》
售價:HK$
53.8
|
編輯推薦: |
国内首本深度解析Unity API的著作。
全面深入的注解,可以让Unity新手轻松上手并快速提升能力。
本书挑选了Unity引擎里一些核心API类例如 Object、GameObject、Rigidbody、Transform、Camera、Quaternion、Vector3等进行了详细的功能注解,注解内容包括API的使用方法、算法分析、边界条件、参数间的制约关系及注意事项等,特别是对很多功能相近或使用方法相似的API进行了较为详细的比较说明。
|
內容簡介: |
《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.1 Application类静态属性 1
1.1.1 dataPath属性:数据文件路径 1
1.1.2 loadedLevel属性:关卡索引 2
1.2 Application类静态方法 4
1.2.1 CaptureScreenshot方法:截屏 4
1.2.2 LoadLevelAdditiveAsync方法:异步加载关卡 11
1.2.3 RegisterLogCallback方法:注册委托 12
第2章 Camera类 14
2.1 Camera类实例属性 14
2.1.1 aspect属性:设置摄像机视口比例 14
2.1.2 cameraToWorldMatrix属性:变换矩阵 15
2.1.3 cullingMask属性:摄像机按层渲染 17
2.1.4 eventMask属性:按层响应事件 18
2.1.5 layerCullDistances属性:层消隐的距离 20
2.1.6 layerCullSpherical属性:基于球面距离剔除 21
2.1.7 orthographic属性:摄像机投影模式 22
2.1.8 pixelRect属性:摄像机渲染区间 23
2.1.9 projectionMatrix属性:自定义投影矩阵 25
2.1.10 rect属性:摄像机视图的位置和大小 27
2.1.11 renderingPath属性:渲染路径 29
2.1.12 targetTexture属性:目标渲染纹理 30
2.1.13 worldToCameraMatrix属性:变换矩阵 32
2.2 Camera类实例方法 32
2.2.1 RenderToCubemap方法:生成Cubemap静态贴图 33
2.2.2 RenderWithShader方法:使用其他shader渲染 34
2.2.3 ScreenPointToRay方法:近视口到屏幕的射线 35
2.2.4 ScreenToViewportPoint方法:坐标系转换 36
2.2.5 ScreenToWorldPoint方法:坐标系转换 37
2.2.6 SetTargetBuffers方法:重设摄像机到TargetTexture的渲染 38
2.2.7 ViewportPointToRay方法:近视口到屏幕的射线 39
2.2.8 ViewportToWorldPoint方法:坐标点的坐标系转换 41
2.2.9 WorldToScreenPoint方法:坐标点的坐标系转换 42
2.2.10 WorldToViewportPoint方法:坐标点的坐标系转换 44
2.3 关于Camera视口、aspect、pixelRect及rect的关系注解 45
第3章 GameObject类 49
3.1 GameObject类实例属性 49
3.2 GameObject构造方法 51
3.3 GameObject类实例方法 52
3.3.1 GetComponent方法:获取组件 52
3.3.2 SendMessage方法:发送消息 56
3.4 GameObject类静态方法 58
3.5 关于GameObject类和Component类的使用注解 60
第4章 HideFlags类 62
4.1 HideFlags类枚举成员 62
4.1.1 DontSave:保留对象到新场景 62
4.1.2 HideAndDontSave:保留对象到新场景 64
4.1.3 HideInHierarchy:在Hierarchy面板中隐藏 65
4.1.4 HideInInspector:在Inspector面板中隐藏 66
4.1.5 None:HideFlags默认值 67
4.1.6 NotEditable:对象在Inspector面板中的可编辑性 67
4.2 HideFlags类使用小结 68
第5章 Mathf类 69
5.1 Mathf类静态属性 69
5.1.1 Deg2Rad属性:从角度到弧度常量 69
5.1.2 Infinity属性:正无穷大 70
5.2 Mathf类静态方法 71
5.2.1 Clamp方法:返回有限范围值 71
5.2.2 ClosestPowerOfTwo方法:返回2的某次幂 72
5.2.3 DeltaAngle方法:最小增量角度 73
5.2.4 InverseLerp方法:计算比例值 74
5.2.5 Lerp方法:线性插值 75
5.2.6 LerpAngle方法:角度插值 75
5.2.7 MoveTowards方法:选择性插值 77
5.2.8 MoveTowardsAngle方法:角度的选择性插值 78
5.2.9 PingPong方法:往复运动 79
5.2.10 Repeat方法:取模运算 80
5.2.11 Round方法:浮点数的整型值 81
5.2.12 SmoothDamp方法:模拟阻尼运动 83
5.2.13 SmoothDampAngle方法:阻尼旋转 84
5.2.14 SmoothStep方法:平滑插值 85
第6章 Matrix4x4类 88
6.1 Matrix4x4类实例方法 88
6.1.1 MultiplyPoint方法:投影矩阵变换 88
6.1.2 MultiplyPoint3x4方法:矩阵变换 89
6.1.3 MultiplyVector方法:矩阵变换 89
6.1.4 SetTRS方法:重设Matrix4x4变换矩阵 91
6.2 Matrix4x4类静态方法 92
6.2.1 Ortho方法:创建正交投影矩阵 92
6.2.2 Perspective方法:创建透视投影矩阵 93
6.2.3 TRS方法:返回Matrix4x4实例 95
第7章 Object类 96
7.1 Object类实例方法 96
7.2 Object类静态方法 97
7.2.1 Destroy方法:销毁对象 97
7.2.2 DontDestroyOnLoad方法:新场景中保留对象 98
7.2.3 FindObjectsOfType方法:获取对象 100
7.2.4 Instantiate方法:实例化对象 101
第8章 Quaternion类 102
8.1 Quaternion类实例属性 102
8.2 Quaternion类实例方法 103
8.2.1 SetFromToRotation方法:创建rotation实例 103
8.2.2 SetLookRotation方法:设置Quaternion实例的朝向 104
8.2.3 ToAngleAxis方法:Quaternion实例的角轴表示 106
8.3 Quaternion类静态方法 107
8.3.1 Angle方法:Quaternion实例间夹角 107
8.3.2 Dot方法:点乘 108
8.3.3 Euler方法:欧拉角对应的四元数 109
8.3.4 FromToRotation方法:Quaternion变换 111
8.3.5 Inverse方法:逆向Quaternion值 112
8.3.6 Lerp方法:线性插值 113
8.3.7 LookRotation方法:设置Quaternion的朝向 114
8.3.8 RotateTowards方法:Quaternion插值 115
8.3.9 Slerp方法:球面插值 116
8.4 Quaternion类运算符 117
8.4.1 operator*lhs:Quaternion, rhs:Quaternion 117
8.4.2 operator*rotation:Quaternion,point:Vector3 118
8.5 关于Quaternion类中相乘运算符的两种重载方式的注解 119
第9章 Random类 120
9.1 Random类静态属性 120
9.1.1 insideUnitCircle属性:圆内随机点 120
9.1.2 rotationUniform属性:均匀分布特征 121
9.1.3 seed属性:随机数种子 123
9.2 Random类其他常用静态属性功能简介 124
第10章 Rigidbody类 125
10.1 Rigidbody类实例属性 125
10.1.1 collisionDetectionMode属性:碰撞检测模式 125
10.1.2 drag属性:刚体阻力 127
10.1.3 inertiaTensor属性:惯性张量 128
10.1.4 mass属性:刚体质量 129
10.1.5 velocity属性:刚体速度 131
10.2 Rigidbody类实例方法 132
10.2.1 AddExplosionForce方法:模拟爆炸力 132
10.2.2 AddForceAtPosition方法:增加刚体点作用力 135
10.2.3 AddTorque方法:刚体添加扭矩 136
10.2.4 ClosestPointOnBounds方法:爆炸点到刚体最短距离 138
10.2.5 GetPointVelocity方法:刚体点速度 139
10.2.6 GetRelativePointVelocity方法:刚体点相对速度 140
10.2.7 MovePosition方法:刚体位置移动 142
10.2.8 Sleep方法:刚体休眠 143
10.2.9 SweepTest方法:检测碰撞器 144
10.2.10 SweepTestAll方法:探测碰撞器 146
10.2.11 WakeUp方法:唤醒刚体 147
10.3 关于useGravity、isKinematic和velocity的使用注解 147
10.4 关于Rigidbody中mass、density及scale之间的关系注解 150
10.5 关于作用力方式ForceMode的功能注解 151
10.6 关于OnTriggerXXX和OnCollisionXXX的功能注解 153
第11章 Time类 158
11.1 Time类静态属性 158
11.1.1 realtimeSinceStartup属性:程序运行实时时间 158
11.1.2 smoothDeltaTime属性:平滑时间间隔 159
11.1.3 time属性:程序运行时间 160
11.2 Time类其他常用静态属性功能简介 162
第12章 Transform类 163
12.1 Transform类实例属性 163
12.1.1 eulerAngles属性:欧拉角 163
12.1.2 forward属性:z轴单位向量 164
12.1.3 hasChanged属性:transform组件是否被修改 165
12.1.4 localPosition属性:局部坐标系位置 166
12.1.5 localToWorldMatrix属性:转换矩阵 168
12.1.6 parent属性:父物体Transform实例 169
12.1.7 worldToLocalMatrix属性:转换矩阵 170
12.2 Transform类实例方法 171
12.2.1 DetachChildren方法:分离物体层级关系 171
12.2.2 GetChild方法:获取GameObject对象子类 172
12.2.3 InverseTransformDirection方法:坐标系转换 173
12.2.4 InverseTransformPoint方法:点的相对坐标向量 174
12.2.5 IsChildOf方法:是否为子物体 175
12.2.6 LookAt方法:物体朝向 176
12.2.7 Rotate方法:绕坐标轴旋转 177
12.2.8 Rotate方法:绕某个向量旋转 178
12.2.9 RotateAround方法:绕轴点旋转 179
12.2.10 TransformDirection方法:坐标系转换 180
12.2.11 TransformPoint方法:点的世界坐标位置 181
12.2.12 Translate方法:相对坐标系移动 182
12.2.13 Translate方法:相对其他物体移动 183
12.3 关于localScale和lossyScale的功能注解 184
12.4 关于Transform类中涉及空间变换的几个属性和方法的功能注解 186
第13章 Vector2类 190
13.1 Vector2类实例方法 190
13.2 Vector2类静态方法 191
13.2.1 Angle方法:两个向量夹角 191
13.2.2 ClampMagnitude方法:向量长度 192
13.2.3 Lerp方法:向量插值 193
13.2.4 MoveTowards方法:向量插值 194
13.2.5 Scale方法:向量放缩 196
13.3 Vector2类运算符 197
第14章 Vector3类 199
14.1 Vector3类实例属性 199
14.1.1 normalized属性:单位化向量 199
14.1.2 sqrMagnitude属性:模长平方 200
14.2 Vector3类实例方法 201
14.3 Vector3类静态方法 203
14.3.1 Angle方法:求两个向量夹角 203
14.3.2 ClampMagnitude方法:向量长度 203
14.3.3 Cross方法:向量叉乘 205
14.3.4 Dot方法:向量点乘 206
14.3.5 Lerp方法:向量插值 207
14.3.6 MoveTowards方法:向量插值 208
14.3.7 OrthoNormalize方法:两个坐标轴的正交化 209
14.3.8 OrthoNormalize方法:3个坐标轴的正交化 211
14.3.9 Project方法:投影向量 213
14.3.10 Reflect方法:反射向量 214
14.3.11 RotateTowards方法:球形插值 215
14.3.12 Scale方法:向量放缩 216
14.3.13 Slerp方法:球形插值 218
14.3.14 SmoothDamp方法:阻尼移动 219
14.4 Vector3类运算符 220
14.5 关于Vector3.Lerp和Vector3.MoveTowards的功能注解 221
14.6 关于Vector3.RotateTowards和Vector3.Slerp的功能注解 222
第15章 游戏实例——坚守阵地 223
15.1 游戏概述 223
15.2 建模与导入 225
15.3 程序脚本 229
15.4 制作简单小地图 242
|
|