Unity3D教程:如何限制物体的旋转角度
发表于2017-02-10
在一些项目开发时需要限制物体的旋转角度,可能对于新手来说做起来可能比较复杂,为了加快大家的开发进度,下面就给大家介绍下Unity3D中限制物体的旋转角度脚本,一起来看看吧。
因为项目是移动端开发,所以下面的代码是触摸屏的,如果有需要你可以把操作方式改为PC的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | if (1 == Input.touchCount) { Touch touch = Input.GetTouch(0); Vector2 deltaPos = touch.deltaPosition; float v_X = -5 * touch.deltaPosition.y; //float v_Y = -2 * touch.deltaPosition.x; v1.x = Mathf.Lerp(v1.x, v_X, Time.deltaTime); transform.localEulerAngles += new Vector3(0, v1.x, 0); //角度限制 v1.y = Mathf.Lerp(v1.y, v_Y, Time.deltaTime); transform.localEulerAngles += new Vector3(v1.x, v1.y, 0); if (transform.localEulerAngles.x > 20 && transform.localEulerAngles.x < 180) { transform.localEulerAngles = new Vector3(20, transform.localEulerAngles.y, transform.localEulerAngles.z); } if (transform.localEulerAngles.x < 340 && transform.localEulerAngles.x > 180) { transform.localEulerAngles = new Vector3(340, transform.localEulerAngles.y, transform.localEulerAngles.z); } } |
