专注Unity教程研发
Vector3提供的静态方法/属性//零点Vector3.zero//(1,0,0) x轴正方向Vector3.right//(-1,0,0)Vector3.left//(0,0,1) z轴正方向Vector3.forward//(0,0,-1)Vector3.back//(0,1,0) y轴正方向Vector3.up//(0,-1,0)Vector3.down以上可以简单理解为方向向量//计算两点之间的距离Vector3.Distance(点1,点2)TransForm位置 //相对世界原点坐标系 两种写法没有区别//如果有父子关系可能和面板显示不一致this.transform.positionthis.gameObject.transform.position //相对父对象的位置this.transform.localPosition修改坐标值transform的赋值不能单独改某一个坐标,只能整体改变,例如:this.transform.position = new Vector3(x,y,z); this.transform.position = Vector
位置+位置 没有意义向量+向量=向量向量相加,收尾相连位置+向量=位置 平移位置位置-向量=位置 平移位置位置-位置=向量两点决定一向量,终点-起点向量-向量=向量向量乘除向量A标量a=(xa,ya,za)向量*or/整数,方向不变,放大缩小模长向量*or/负数,方向相反,放大缩小模长向量*0 得到零向量总结向量加法 位置平移向量减法 位置平移向量乘除法 模长缩小或放大
//向量 //三维 vector3 //1.位置 代表一个点 print(this.transform.position); //2.方向 代表一个方向 print(this.transform.forward); print(this.transform.up); //两点决定一向量 Vector3 A = new Vector3(1, 2, 3); Vector3 B = new Vector3(5, 1, 5); //求向量 Vector3 AB = B - A; Vector3 BA = A - B; //零向量 (0,0,0) print(Vector3.zero); //负向量 print(Vector3.forward); print(-Vector3.forward); //向量的模长 //就是向量的长度,由两个点算出,向量的模长就是两个点的距离 //magnitude print(AB
世界坐标系this.transform.Positionthis.transform.Rotationthis.transform.Scale物理坐标系(本地坐标系)this.transform.localPositionthis.transform.localRotationthis.transform.localScale屏幕坐标系Input.MousePositionScreen.widthScreen.height视口坐标系摄像机上的 视口范围坐标系转换本地转世界 transform.TransformPoint世界转屏幕Camera.main.WoldToScreenPoint屏幕转世界Camera.main.ScreenToWorldPoint世界转视口Camera.main.WoldToViewportPoint视口转世界Camera.main.ViewportToWorldPoint视口转屏幕Camera.main.viewportToScreenPoint屏幕转视口Camera.main.ScreenToViewportPoint
//弧度转角度 //Rad 弧度 //Mathf.Rad2Deg() 弧度转角度 //Mathf.Deg2Rad(); 角度转弧度//角度转弧度//三角函数 //Mathf中的三角函数相关函数,传入的参数需要弧度值 print(Mathf.Sin(30*Mathf.Deg2Rad)); print(Mathf.Cos(60 * Mathf.Deg2Rad));//反三角函数 //反三角函数得到的结果是,正弦或者余弦值对应的弧度 //作用:通过反三角函数计算正弦值或余弦值对应的弧度值 float rad; rad = Mathf.Asin(0.5f); print(rad * Mathf.Rad2Deg);//30° rad = Mathf.Acos(0.5f); print(rad * Mathf.Rad2Deg);//60°//角度=Mathf.Asin(正弦值)*Mathf.Rad2Deg //角度=Mathf.Acos(余弦值)*Mathf.Rad2Degsina=对边/斜边cosa=领边/斜边
一棵小松林
Gamer游戏开发者