Поворот объекта

Общие вопросы о Unity3D

Поворот объекта

Сообщение artem1414 09 апр 2020, 16:07

Добрый день,к цилиндру привязано 2 скрипта,оба работают,первый скрипт просто вращает объект по оси z
transform.Rotate(Time.deltaTime*a,Time.deltaTime*b,0 );
Второй скрипт для того чтобы вращать объект также по оси z
float rotx = Input.GetAxis("Mouse X") *speed*Mathf.Deg2Rad/6;
transform.RotateAround(Vector3.up,-rotx);
То есть когда мы нажимаем объект он вращается соответственно по перемещению мышки по оси z,хотел уточнить,как можно сделать так,чтобы
при движении мышки налево 1 скрипт начинал движение по часовой стрелке,а когда мы мышку по оси x подвинем вправо,то должно объект должен крутиться уже по против часовой стрелки,ну это понятно,мы можем просто во второй скрипт переменную b добавить,сохранять с PlayerPrefs,А в первом просто считывать,ну и если b отрицательная,то вращение в одну сторону,если b положительное,то в другую,просто как сделать чтобы эта переменная b менялась по (X) оси мышки,типо if(Mouse X+) b=-b ,if(Mouse X+) b=-b А если if(Mouse X-) b=b как-то так,в интернете не смог найти ответ на вопрос,надеюсь на вашу помощь
artem1414
UNITрон
 
Сообщения: 233
Зарегистрирован: 10 фев 2016, 17:27

Re: Поворот объекта

Сообщение 1max1 09 апр 2020, 16:21

Ты сам и ответил на свой вопрос.

Синтаксис:
Используется csharp
        float rotx = Input.GetAxis("Mouse X");

        if (rotx < 0.0f)
            b = -Mathf.Abs(b);

        if (rotx > 0.0f)
            b = Mathf.Abs(b);
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Поворот объекта

Сообщение artem1414 09 апр 2020, 16:44

Просто не мог полностью скрипт дописать,кстати там минус нужен во втором,а не в первом))Ну спасибо в любом случае
if (rotx < 0.0f)
b = Mathf.Abs(b);

if (rotx > 0.0f)
b = -Mathf.Abs(b);
PlayerPrefs.SetInt("b",b);
artem1414
UNITрон
 
Сообщения: 233
Зарегистрирован: 10 фев 2016, 17:27


Вернуться в Общие вопросы

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 10