1
我在Unity中創建了自己的角色,現在我正在使用相機,並且想要正確操作相機的Y旋轉角度。Mathf.clamp無法正常工作
mouseRotY = Mathf.Clamp(mouseRotY, -90.0f, 90.0f);
那麼恰好是將相機從359到0沒什麼旋轉反應,直到我玩遊戲的時候將我的鼠標了。它使屏幕看起來像閃爍。
這裏是我的全碼:
using UnityEngine;
using System.Collections;
public class FirstPersonController : MonoBehaviour {
CharacterController cc;
public float baseSpeed = 3.0f;
public float mouseSensitivity = 1.0f;
float mouseRotX = 0,
mouseRotY = 0;
public bool inverted = false;
float curSpeed = 3.0f;
string h = "Horizontal";
string v = "Vertical";
void Start() {
cc = gameObject.GetComponent<CharacterController>();
}
void FixedUpdate() {
curSpeed = baseSpeed;
mouseRotX = Input.GetAxis("Mouse X") * mouseSensitivity;
mouseRotY -= Input.GetAxis("Mouse Y") * mouseSensitivity;;
mouseRotY = Mathf.Clamp(mouseRotY, -90.0f, 90.0f);
if (!inverted)
mouseRotY *= -1;
else
mouseRotY *= 1;
float forwardMovement = Input.GetAxis(v);
float strafeMovement = Input.GetAxis(h);
Vector3 speed = new Vector3(strafeMovement * curSpeed, 0, forwardMovement * curSpeed);
speed = transform.rotation * speed;
cc.SimpleMove(speed);
transform.Rotate(0, mouseRotX, 0);
Camera.main.transform.localRotation = Quaternion.Euler(mouseRotY, 0 ,0);
}
}
如果有人對你能幫我這一點,那將是輝煌的。謝謝。