Я пытаюсь создать систему наклона / пика, подобную той, что мы видим в Rainbow Six Siege, у меня есть идея, как это сделать, но я не могу ее выполнить. У меня есть сценарий для моего персонажа и один для камеры моего персонажа; вот сколько камера смотрит:
void Update()
{
CameraRotation();
if (Input.GetKey(KeyCode.Q))
{
isLeaningLeft = true;
transform.Rotate(0, 0, -10 * Time.deltaTime);
}
else
{
isLeaningLeft = false;
}
if (Input.GetKey(KeyCode.E))
{
isLeaningRight = true;
print("Leaning Right");
}
else
{
isLeaningRight = false;
}
}
Я также сохраняю исходное положение камеры, чтобы потом вернуться к ней
Transform playerCamera;
Vector3 initPos;
Quaternion initRot;
bool isLeaningLeft;
bool isLeaningRight;
// Start is called before the first frame update
void Start()
{
//This doesn't matter here..
//LockCursor();
//xAxisClamp = 0;
initPos = playerCamera.localPosition;
initRot = playerCamera.localRotation;
}
Так что это, очевидно, не работает, и я понимаю, почему это не так. Нужно ли использовать кватернионные или эйлеровы углы? Если бы кто-нибудь мог указать мне правильное направление, это было бы очень признательно.