Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Програмирование на юнити

Яромир Лубочко Ученик (113), открыт 13 часов назад
При включении игры включился реверс мыши, подскажите как его убрать
using System.Collections;

using System.Collections.Generic;

using UnityEngine;

• Скрипт Unity (1 ссылка на ресурсы) | Ссылок: 0

public class PlayerCam: MonoBehaviour

{

public float sensX;

public float sensY;

public Transform orientation;

float xRotation;

float yRotation;

• Сообщение Unity | Ссылок: 0

private void Start()

Cursor.lockState = CursorLockMode.Locked;

Cursor.visible = false;

A

PlayerCam

• Сообщение Unity | Ссылок: 0

private void Update()

{

//get mouse input

sensX; float mouseX = Input.GetAxisRaw("Mouse X") * Time.deltaTime

float mouseY = Input.GetAxisRaw("Mouse Y") * Time.deltaTime * sensY;

yRotation += mouseX;

xRotation += mouseY;

xRotation = Mathf.Clamp(xRotation, -90f, 90f);

// rotate cam and orientation

transform.rotation = Quaternion. Euler(xRotation, yRotation, 0);

orientation.rotation = Quaternion.Euler(0, yRotation, 0);
{
{
1 ответ
ЖЕПО андернеко Мудрец (14813) 13 часов назад
Чтобы исправить реверс мыши в вашем скрипте, измените направление вращения по вертикали. Проблема возникает из-за знака при изменении xRotation. Вот исправленный код:

 private void Update() 
{
// Получаем ввод мыши
float mouseX = Input.GetAxisRaw("Mouse X") * Time.deltaTime * sensX;
float mouseY = Input.GetAxisRaw("Mouse Y") * Time.deltaTime * sensY;

yRotation += mouseX;
xRotation -= mouseY; // Замените += на -= для инверсии направления

xRotation = Mathf.Clamp(xRotation, -90f, 90f);

// Применяем повороты
transform.rotation = Quaternion.Euler(xRotation, yRotation, 0);
orientation.rotation = Quaternion.Euler(0, yRotation, 0);
}
Строка xRotation += mouseY заменена на xRotation -= mouseY — это уберет реверс по вертикали.
Похожие вопросы