public Vector3 v;
public float dis;
public GameObject cube;
void Start()
{
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
//让方块位移
//cube.transform.Translate(new Vector3(1, 0, 0));//方向的量
//两个向量之间的线性插值。按照数字t在from到to之间插值
//cube.transform.position = Vector3.Lerp(cube.transform.position, new Vector3(10, 0, 0),0.1f);
//Vector3移动到目标位置(初始位置,目标位置。速度):速度改为1,产生残影效果
//cube.transform.position = Vector3.MoveTowards(cube.transform.position, new Vector3(1, 0, 0),0.5f);
//两点之间的距离
//dis = Vector3.Distance(new Vector3(0, 0, 0), new Vector3(10, 8, 0));
//四元素来表示角度
Debug.Log(Quaternion.Angle(Quaternion.Euler(new Vector3(0, 0, 0)), Quaternion.Euler(new Vector3(10, 8, 0))));
Debug.Log(Vector3.Angle(new Vector3 (60,30,30),new Vector3(0,0,0)));//angle(角度来论)
//旋转
Debug.Log(Vector3.RotateTowards(new Vector3(0, 0, 0), new Vector3(45, 0, 15),0.1f,1f));
//旋转的角度
cube.transform.rotation = Quaternion.Euler(Vector3.RotateTowards(new Vector3(0, 0, 0), new Vector3(45, 0, 15),0.1f,1f));
//给一个旋转的值
cube.transform.Rotate(Vector3.RotateTowards(new Vector3(0, 0, 0), new Vector3(45, 0, 15), 0.1f, 1f));
//叉乘,点乘
//Cross 叉乘
Debug.Log(Vector3.Cross(new Vector3(0, 5, 0), new Vector3(5, 0, 0)));
//归一化 返回的长度为一的新向量
Vector3 v = Vector3.Normalize(new Vector3(0, 100, 0));
Debug.Log("归一化" + v);
//点乘 当两个单位向量的长度都是1的时候,向量的点乘就是他们夹角的余弦值
Debug.Log(Vector3.Dot(new Vector3(0, 0, 0), new Vector3(10, 0, 0)));
}
}
private void OnGUI()
{
GUILayout.Label("这是讲的Vector结构体,位置是:"+cube.transform.position);//自动在左上角定区域(坐标:左上角为0,0)
GUILayout.Label("距离是:" + dis);
GUI.Label(new Rect(Screen.width / 2 - 100, 20, 200, 50), "这是讲的vector的结构体");
}
}