Круговое вращение объекта

Программирование на Юнити.

Круговое вращение объекта

Сообщение Creator 17 июн 2010, 13:10

Доброго времени суток)
Недавно сел за юнити, начал изучать и потихоньку делать свой собственный проект.
Но никак не могу сделать одну вещь: нужно, чтобы объект кружил по кругу, тоесть,
фактически, чтобы центр окружности был не в центре объекта, а рядом с ним.
Как то находил, делал, потом стёр, забыл. Помню, что нужно было использовать
функцию .Translate() вроде, при этом передавать ей в аргументы синусы, косинусы...

Помогите пожалуйста.
Creator
UNец
 
Сообщения: 8
Зарегистрирован: 17 июн 2010, 13:04

Re: Круговое вращение объекта

Сообщение bibika 17 июн 2010, 13:37

Ну можно попробовать сделать анимацию этого обэекта в 3ds Max ну или в другом 3d редакторе..
либо его кружить по крывой сделанной непосредственно в [unity 3D] ну или програмно....
bibika
UNIт
 
Сообщения: 71
Зарегистрирован: 22 апр 2010, 22:19
  • ICQ

Re: Круговое вращение объекта

Сообщение Serge 17 июн 2010, 13:58

bibika - не давайте глупых советов, лучше займитесь изучением документации.
Creator – читайте доки.
Синтаксис:
Используется javascript
function Update() {
    // spin the object around the world origin at 20 degrees/second.
    transform.RotateAround (Vector3.zero, Vector3.up, 20 * Time.deltaTime);
}
 
О, сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.
Аватара пользователя
Serge
UNIверсал
 
Сообщения: 476
Зарегистрирован: 20 мар 2009, 15:53
Откуда: Сибирь г. Омск
  • Сайт
  • ICQ

Re: Круговое вращение объекта

Сообщение bibika 17 июн 2010, 14:15

Serge, а можно подумать, что так как я написал нельзя сделать????
bibika
UNIт
 
Сообщения: 71
Зарегистрирован: 22 апр 2010, 22:19
  • ICQ

Re: Круговое вращение объекта

Сообщение Golandez 17 июн 2010, 14:18

Вы когда нибудь пробовали пить чай,просунув руку под ногой ? Попробуйте,так тоже можно сделать.
P.S. Чем пререкаться,послушали бы совета и сели за документацию.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Круговое вращение объекта

Сообщение bibika 17 июн 2010, 14:22

Хорошо...я какашка)) признаю свои ошибки....)
bibika
UNIт
 
Сообщения: 71
Зарегистрирован: 22 апр 2010, 22:19
  • ICQ

Re: Круговое вращение объекта

Сообщение Creator 17 июн 2010, 14:24

Спасибо. Находил эту функцию раньше, но немного не понял. И сейчас не понимаю. Первый параметр (point) это понятно, а вот с axis'ом немного непонятно.

У меня задача сделать маленький прототип солнечно системы, тобишь в центре шар, а вокруг летают планеты, причём в одной плоскости. Как там вообще что то можно сделать в этим аксисом для меня загадка. Видимо руки кривые. Может кто - нибудь разъяснит.
Creator
UNец
 
Сообщения: 8
Зарегистрирован: 17 июн 2010, 13:04

Re: Круговое вращение объекта

Сообщение Serge 17 июн 2010, 14:54

Пользуемся переводчиком и читаем: http://translate.google.ru/translate?js=y&prev=_t&hl=ru&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Funity3d.com%2Fsupport%2Fdocumentation%2FScriptReference%2FTransform.html&sl=en&tl=ru
Из этого вытекает, что первый параметр это центр вращения, второй это ось вращения, третий это угол, на который нужно повернуть. Далее пробуйте, экспериментируйте. Специально описываю в общих словах, дабы дать вам возможность сделать самостоятельно. Если не получится, пишите, еще подскажем. ;)
О, сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.
Аватара пользователя
Serge
UNIверсал
 
Сообщения: 476
Зарегистрирован: 20 мар 2009, 15:53
Откуда: Сибирь г. Омск
  • Сайт
  • ICQ

Re: Круговое вращение объекта

Сообщение Creator 17 июн 2010, 15:20

Ну, допустим, первый аргумент - .зеро (0, 0, 0), второй аргумент - .up. При дальнейших эксперементах поставить всё это в одной плоскости относительно друг друга не получилось :(

Но всё равно спасибо. Буду пытаться.
Creator
UNец
 
Сообщения: 8
Зарегистрирован: 17 июн 2010, 13:04

Re: Круговое вращение объекта

Сообщение Creator 17 июн 2010, 15:24

аа, всё, допёрло) Спасибо всем)
Creator
UNец
 
Сообщения: 8
Зарегистрирован: 17 июн 2010, 13:04

Re: Круговое вращение объекта

Сообщение Rip 23 июл 2010, 15:38

а вот пример с синусами и косинусами вдруг кому понадобится
Синтаксис:
Используется csharp
if (count > 360) count = 0;
        count +=  2 ;
        lx = (0.02f * Mathf.Cos(Mathf.Deg2Rad * count));
        ly = (0.02f * Mathf.Sin(Mathf.Deg2Rad * count));  
        transform.Translate(lx, ly, 0);


зы: Спасибо за а то с моим кодом как-то не то. :-bd
Изображение
Реальность существует независимо от вас, до тех пор пока вы с этим согласны.
Изображение
Аватара пользователя
Rip
UNIт
 
Сообщения: 103
Зарегистрирован: 30 янв 2010, 14:11
Откуда: Оренбугская обл. г.Орск
  • ICQ

Re: Круговое вращение объекта

Сообщение Siberdt 23 июл 2010, 17:50

Serge, Вы не правы. Вариант, предложенный bibikой, когда процедурное вращение объекта отдается на откуп анимации имеет очень широкое распространение.

Golandez, а Вы, к несчастью, глупы, чтобы пытаться язвить, аки NeoDrop, неопытны, чтобы давать действительно стоящие советы и далеко не мудры по жизни, чтобы судить о людях.

Adios...
Siberdt
UNец
 
Сообщения: 4
Зарегистрирован: 10 июл 2010, 10:27

Re: Круговое вращение объекта

Сообщение DbIMok 23 июл 2010, 18:44

конечно, всякий вариант имеет право на жизнь. но топикстартер задал вполне конкретный вопрос и правильный ответ на него RotateAround.
вы зря нянчитесь со своими обидами. вы лично что посоветовали, скольким людям помогли здесь, чем поделились? легкий дзен с целью подтолкнуть адепта в сторону чтения справки еще никому не вредил. дав готовый ответ, мы лишь поощряем продолжать задавать тривиальные вопросы, а не работать самому.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Круговое вращение объекта

Сообщение Siberdt 23 июл 2010, 18:54

bibika предложил вариант... причем не как здесь принято - язвительно послал читать доку или снисходительно запостил кусок кода.
Он указал два вектора движения, один из которых - верный, другой - имеет свое применение, но в общем случае - непрактичный. Да, он не предложил воспользоваться примитивными и сразу-приходящими-в-голову синусами, но это не значит, что надо мешать с говном его идеи.

И неужели, вам достаточно информации "нужно чтоб объект кружил по кругу", чтобы принять решение о использовании тригонометрических функций?

Означает ли для вас "шестиногий робот ходит по камням" программирование процедурной инверсной кинематики?

Чего я тут советовал и чем делился - это все в прошлом. Почему-таки рвусь чего-то написать сейчас - виной тому моя эмоциональность :)
Siberdt
UNец
 
Сообщения: 4
Зарегистрирован: 10 июл 2010, 10:27

Re: Круговое вращение объекта

Сообщение DbIMok 23 июл 2010, 20:32

и какой вариант верный? явно не анимация в 3D редакторе, потому что автор новичок, который ожидает скрипт, и скорее всего, будет двигать примитив. тогда наверное второй вариант, юнити анимация. вместо одной функции RotateAround (или ожидаемого автором утерянного скрипта) нужно разобраться с редактором анимаций? объясните.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

След.

Вернуться в Скрипты

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

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