专注Unity教程研发
0.导入上面插件,出错后再上面一排incontrol导航栏,安装step inputmanager settings1.hierahy面板,右键 incontrol-manager,出现incontrol物体2.选中incontrol incontrol manager 右键 incontrol touch manager3.添加按钮,选中incontrol,在touch manager scrpt create button control 设置颜色等等offset 设置偏移4.删掉原有摄像机的cameria中 culiling mask 中的ui图层5.创建摇杆 选中incontrol,在touch manager scrptcreate stick control 设置颜色等等ring 设置背景圆盘konb 设置圆盘上面内容don't destroy on load 勾上后 切换场景也不会消失 //得到摇杆向量 Vector2 dir = InputManager.ActiveDevice.LeftStick.Vector; if (dir.x != 0 || dir.y !
public Transform A; public Transform B; public Transform Target; private Vector3 startPos; private float time; private Vector3 nowPos; public Transform C; // Start is called before the first frame update void Start() { startPos = B.position; } // Update is called once per frame void Update() { //公式:resuly=start+(end-start)*t //1.先快后慢 每帧改变start位置 位置无限接近 但不会得到end位置 A.position = Vector3.Lerp(A.position, Target.position, Time.deltaTime); //2.匀速 每帧改变时间 当t>=1,得到结果 //参3是
public Transform A; public Transform B; // Start is called before the first frame update void Start() { //叉乘计算 //Vector3.Cross(A.forward, B.position-A.position); //叉乘几何意义 //假设A和B都在XZ平面上, //向量A叉乘向量B //y大于0 B在A的右侧 //y小于0 B在A的左侧 //向量叉乘的意义 //1.得到一个平面的法向量 //2.得到两个向量之间的左右位置关系 }
//向量a点乘AB的结果 float dotResult= Vector3.Dot(this.transform.forward, target.position - this.transform.position); if (dotResult>0) { print("它在我前方");} else { print("它在我后方");}通过点乘推导公式算出夹角 1.用单位向量算出点乘结果 2.用反三角函数得出角度 // //1.点乘算出方向向量 // float dotRes = Vector3.Dot(this.transform.forward, (B.transform.position - this.transform.position).normalized); // //2.通过反余弦函数算出夹角 // if (Mathf.Acos(dotRes) * Mathf.Rad2Deg<=22.5f) // { // pr
调试画线 参1 起点位置 参2 终点位置 参3 颜色 Debug.DrawLine(this.transform.position,this.transform.position+this.transform.forward,Color.red); 参1 起点 参2 朝向,方向 参3 颜色 Debug.DrawRay(this.transform.position+this.transform.right*2,this.transform.forward,Color.yellow); Debug.DrawRay(this.transform.position, target.position-this.transform.position, Color.black);
一棵小松林
Gamer游戏开发者