国内首本深度解析Unity API的著作。
全面深入的注解,可以让Unity新手轻松上手并快速提升能力。
《图灵原创:Unity API解析》挑选了Unity 引擎里一些核心API 类,例如 Object、GameObject、Rigidbody、Transform、Camera、Quaternion、Vector3 等进行了详细的功能注解,注解内容包括API 的使用方法、算法分析、边界条件、参数间的制约关系及注意事项等,特别是对很多功能相近或使用方法相似的API 进行了较为详细的比较说明。
《图灵原创:Unity API解析》适用于对Unity 有一定了解的入门开发人员,也可作为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 制作简单小地图