public class Lesson6 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
#region Vector3
//Vector3主要是用来表示三维坐标系中的一个点或一个向量
//申明
Vector3 v = new Vector3();
//z默认是0
Vector3 v2 = new Vector3(10,10);
Vector3 v3 = new Vector3(10,10,10);
//Vector3基本计算
Vector3 v1 = new Vector3(1,1,1);
Vector3 v11 = new Vector3(2,2,2);
//对应坐标相加
print(v1 + v11);
print(v11 - v1);
//所有坐标*10,除同理
print(v1 * 10);
//常用
print(Vector3.zero);//原点
print(Vector3.right);//1,0,0
print(Vector3.left);//-1,0,0
print(Vector3.forward);//0,0,1
print(Vector3.back);//0,0,-1
print(Vector3.up);//0,1,0
print(Vector3.down);//0,-1,0
//计算两个点之间的距离的方法
Vector3.Distance(v1, v11);
#endregion
#region 位置
//相对世界坐标系
print (transform.position);//不管有没有父子关系,都是相对世界坐标系的
//相对父对象
print(transform.localPosition);
//位置的赋值不能直接改x,y,z值
transform.position = new Vector3(10,10,10);
//只改x位置
Vector3 vPos = transform.position;
vPos.x = 10;
transform.position = vPos;
//对象当前的各朝向
print(transform.forward);//对象当前的面朝向
print(transform.up);//上
print(transform.right);//右
#endregion
}
// Update is called once per frame
void Update()
{
#region 位移
//路程 = 方向*速度*时间
//自己计算,用当前的位置加上移动的距离得出最终的位置
transform.position = transform.position+transform.forward*1*Time.deltaTime;//沿Z轴正方向移动
//调用API
//参数一表示位移多少
//参数二表示相对坐标系 默认该参数是相对于自己朝向坐标系
//transform.Translate(Vector3.forward*1*Time.deltaTime,space.World); =>相对于世界坐标系Z轴朝向
//transform.Translate(transform.forward*1*Time.deltaTime,space.Self); =>相对于自己坐标系的自己面朝向向量移动
transform.Translate(Vector3.forward*1*Time.deltaTime);//相对于自己坐标系的Z轴正向
#endregion
}
}