Ограничение поворота.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Ограничение поворота.

Сообщение MakarGrom 13 сен 2020, 12:37

Здравствуйте!
Мне нужна помощь в довольно распространённом вопросе - как сделать ограничение поворота объекта. На всех форумах я видел что это надо делать через Mathf.Clamp, но у меня это не сработало. Мой объект просто когда доходил до нуля возвращался в минимальную позицию, а когда я его вёл вниз там ограничения вообще не было.



Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MoveCamera : MonoBehaviour
{

        public GameObject turrel;
        public GameObject gun;
   
        public float gunMin, gunMax;

        public float speedRot;
   
    void Update()
    {
                turrel.transform.Rotate(0f, 0f, Input.GetAxis("Mouse X") * speedRot, Space.Self);
                gun.transform.Rotate(Input.GetAxis("Mouse Y") * speedRot, 0f, 0f, Space.Self);
                gun.transform.localEulerAngles = new Vector3(Mathf.Clamp(gun.transform.localEulerAngles.x, gunMin, gunMax), gun.transform.localEulerAngles.y, gun.transform.localEulerAngles.z);
    }
}
 
MakarGrom
UNец
 
Сообщения: 20
Зарегистрирован: 08 апр 2020, 09:12

Re: Ограничение поворота.

Сообщение 1max1 13 сен 2020, 14:23

Типа такого:
Синтаксис:
Используется csharp
class XXX : MonoBehaviour
{
    Vector3 r;

    void Start()
    {
        r = transform.localEulerAngles;
    }

    void Update()
    {
        r.y += Input.GetAxis("Mouse X");
        r.x += Input.GetAxis("Mouse Y");
        r.x = Mathf.Clamp(r.x, -89.0f, 89.0f);
        transform.localEulerAngles = r;
    }
}
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13