UnityAPI解析

UnityAPI解析

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书适用于对Unity有一定了解的入门开发人员,也可作为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类实例属性

activeSelf属性:GameObject的Active标识

3.2 GameObject构造方法

3.3 GameObject类实例方法

3.3.1 GetComponent方法:获取组件

3.3.2 SendMessage方法:发送消息

3.4 GameObject类静态方法

CreatePrimitive方法:创建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类实例方法

GetInstanceID方法:Object对象ID

7.2 Object类静态方法

7.2.1 Destroy方法:销毁对象

7.2.2 DontDestroyOnLoad 方法:新场景中保留对象

7.2.3 FindObjectsOfType方法:获取对象

7.2.4 Instantiate方法:实例化对象

第8章 Quaternion类

8.1 Quaternion类实例属性

eulerAngles属性:欧拉角

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类实例方法

Normalize方法:单位化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类实例方法

Scale方法:向量放缩

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 制作简单小地图

看完了

UnityAPI解析是2014年由人民邮电出版社·图灵出品出版,作者陈泉宏。

得书感谢您对《UnityAPI解析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。