1

Тема: Питання для тих хто знаэ С# unity

От в мене є обєкт прикріплений до корпусу танка (обєкт пушка) тан крутиться і вона теж.
Питання таке: як зробити так щоб при натискані клавіші "С" наприклад пушка повернулася в положення в якому була Rotation(new Vector3(0,0,0)).
PS:

transform.rotation()

не допомагаэ.
Хоч скаіть як приблизно ще зробити будьласка.
Вибачте за помилки якщо вони є

2

Re: Питання для тих хто знаэ С# unity

Звідки Юніті знати, в якому положенні пушка «була»? Що ви взагалі вкладаєте в це поняття?

3 Востаннє редагувалося Fox (08.02.2015 19:10:42)

Re: Питання для тих хто знаэ С# unity

quez написав:

Звідки Юніті знати, в якому положенні пушка «була»? Що ви взагалі вкладаєте в це поняття?

Мені потрібно щоб пушка при натисканні кнопки повернулася в положення в якому була при спавні танка тільки поверталася а не телепортувалася. Unity - програма для створення ігор. "Що ви взагалі вкладаєте в це поняття?"не зовсім розумію питання.

4 Востаннє редагувалося quez (08.02.2015 19:40:16)

Re: Питання для тих хто знаэ С# unity

Давайте ще раз. Я вам дам шаблон для запитання, а ви заповните його.

Мені потрібно, щоб при натисненні клавіші С пушка поверталася в положення <потрібне положення> відносно <танка/Землі>. Коли я робив <тут опис того, що ви робили>, то <тут опис того, що відбувалось> <при необхідності повторити>.

5 Востаннє редагувалося Fox (08.02.2015 20:18:50)

Re: Питання для тих хто знаэ С# unity

quez написав:

Давайте ще раз. Я вам дам шаблон для запитання, а ви заповните його.

Мені потрібно, щоб при натисненні клавіші С пушка поверталася в положення <потрібне положення> відносно <танка/Землі>. Коли я робив <тут опис того, що ви робили>, то <тут опис того, що відбувалось> <при необхідності повторити>.

Мені потрібно, щоб при натисненні клавіші С пушка поверталася в положення в якому вона була коли танк заспавнився(local pos 0, 0, 0) пушка повертаэться відносно танка. Перша моя спроба вже не памятаю друга

    public int loader;//Пам'ятає натискння С
    private float rotation;//Швидкысть поворота
    void Update () {

        if(Input.GetKeyUp(KeyCode.C)){
            rotation = 1*load;
            loader = 1;
        }
        if(loader == 1 && transform.localRotation.y == 0.0f){
            loader = 0;
            rotation = 0*load;
        }
        this.transform.Rotate (new Vector3(0, rotation, 0));
    }

       результат пушка просто крутиться.
       Спроба 3 (Небуло): Ctrl+A i Delete
       PS: Сподіваюсь зрозуміло написав.
       transform.rotation(new Vector3(0,0,0));
       телепортує пушку а не повирне(1а спроба) згадав :)

6

Re: Питання для тих хто знаэ С# unity

Що таке load?

7

Re: Питання для тих хто знаэ С# unity

quez написав:

Що таке load?

сори непобачив зміна public int load;

8

Re: Питання для тих хто знаэ С# unity

Не перевіряйте ніколи на рівність floatdouble також). Використайте щось типу Math.abs(transform.localRotation.y) < epsylon, epsylon підберіть експериментально або обчисліть, виходячи з частоти оновлення і швидкості обертання.

Подякували: Fox, 0xDADA11C7, leofun013