GameObject常用属性与方法
<非静态成员>
1.当前游戏对象的激活状态
public GameObject gameObject;
private void Start()
{
//返回的是一个布尔类型
bool isActive = gameObject.activeSelf;
Debug.Log(isActive);
}
2.设置当前游戏对象的激活状态
public GameObject gameObject;
private void Start()
{
//true为激活,false为⾮激活
gameObject.SetActive(true);
}
3.获取游戏对象名字
string name = gameObject.name;
Debug.Log(name);
4.获取游戏对象的标签
string tag = gameObject.tag
Debug.Log(tag);
5.获取当前游戏对象的组件
gameObject.GetComponent<组件>();
6.添加⼀个组件到游戏对象上
Transform transform = gameObject.AddComponent<Transform>();
<静态成员>
7.通过查找游戏对象名称来获取游戏对象(不能找到⾮激活的对象)
GameObject.Find("游戏对象名称");
8.通过查找标签来获取游戏对象(不能找到⾮激活的对象)
GameObject.FindWithTag();
9.通过查找标签来获取游戏对象(不能找到⾮激活的对象)
//返回一个GameObject数组
GameObject.FindGameObjectsWithTag();
Transform常用属性与方法
<非静态成员>
1.游戏对象的世界坐标(以世界的0,0,0为原点)
//返回的是一个Vector3类型
transform.position;
2.游戏对象的本地坐标(相对于父物体的位置坐标)
transform.localPosition;
3.物体旋转的欧拉角:角度
Vector3 euler = transform.eulerAngles;
4.相对于父级旋转的欧拉角
transform.localEulerAngles;
5.在世界空间坐标物体变换的旋转角度
//返回的是一个四元数
Quaternion qua = transform.rotation;
6.前方、上方、右方
transform.forword;
transform.up;
transform.right;
7.自转
transform.Rotate(new Vector(0,2,0));
8.绕某个点和某个轴旋转
transform.RotateAround();
9.看向某个对象
transform.LookAt();
10.获取当前对象的父对象
transform.parent;
11.当前对象的根对象
transform.root;
12.当前对象子对象的个数
int index = transform.childCount;
13.获取当前对象的子物体
transform.GetChild(index);
14.给当前对象设置父物体
transform.SetParent(transform类型);
15.找子对象
transform.Find("游戏对象名称");
Vector3常用属性与方法
1.向量的标准化向量
Vector3.normailzed;
2.向量的长度
float length = Vector3.magnitude;
3.世界的前方、右方、上方
Vector3.forword;
Vector3.right;
Vector3.up;
4.Vector3(0,0,0)
Vector3.zero;
5.Vector3(1,1,1)
Vector3.one;
6.求两个点的距离 == 向量的长度
Vector3.Distance(Vector3 pos1,Vector3 pos2);
7.求两个向量的夹角
Vector3.Angle(Vector3,Vector3);
8.求两个向量的叉乘
Vector3 cross = Vector3.Cross(Vector3,Vector3);
9.求两个向量的点乘
//当返回的值大于0表示夹角在90度内,小于0表示夹角大于90度
float dot = Vector3.Dot(Vector3,Vector3);
10.插值
Vector3.Lerp(Vector3,Vector3,float);
Quaternion常用属性与方法
1.空旋转
Quaternion.identity;
2.将一个向量转换为这个方向所代表的四元数,一般用于旋转
Quaternion.LookRotation(new Vector3());
3.插值
private Transform target;
Quaternion.Lerp(transform.rotation,target.rotation,Time.deltaTime);
Time常用属性与方法
1.获取从游戏开始到此时所花费的时间
float time = Time.time;
2.每帧之间的时间间隔
float time = Time.deltaTime;
3.固定的间隔时间 默认0.02,可以修改
float time = Time.fixedDeltaTime;
4.时间缩放 一般作用于游戏加速
Time.timeScale = 5;
Mathf常用属性与方法
1.求绝对值
Mathf.Abs(float);
2.插值
Mathf.Lerp(float,float,float);
3.限制值 限制值在某个范围内
Mathf.Clamp(float min,float max);
Rigidbody常用属性与方法
1.刚体的速度
Rigidbody rigidbody;
//朝世界前方运动
rigidbody.velocity = Vector3.forward*Time.deltaTime*speed;
2.刚体的角速度
Rigidbody rigidbody;
//世界的y轴旋转
rigidbody.angularVelocity = Vector.up*time.deltaTime*angularSpeed;
3.给一个物体添加一个力
Rigidbody rigidbody;
rigidbody.AddForce(Vector3);
4.给物体添加爆炸力
Rigidbody rigidbody;
//爆炸力大小、爆炸点、爆炸半径
rigidbody.AddExplosionForce(float,Vector3,float);