Запись движения объекта.

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

Запись движения объекта.

Сообщение 12sd 26 ноя 2011, 19:01

Задача - каждые n секунд (0,5-1) записывать позицию объекта.
Для чего? Расставить точки по траектории движения.
Можно писать x,y,z координаты в некие массивы, а потом из префаба инстантить объекты, которые будут изображать точки (красные Sphere без коллайдеров) .
Идея верна? Или есть что-то готове или более оптимальный способ?
Благодарю за внимание.
Добавить egorchiks96 в Skype
12sd
UNIт
 
Сообщения: 71
Зарегистрирован: 16 июл 2011, 21:47

Re: Запись движения объекта.

Сообщение gnoblin 26 ноя 2011, 19:13

идея верна
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Запись движения объекта.

Сообщение ArtUni3d 26 ноя 2011, 21:45

идея верна

:) хватит одного единственного массива
Аватара пользователя
ArtUni3d
UNITрон
 
Сообщения: 249
Зарегистрирован: 27 апр 2011, 22:12

Re: Запись движения объекта.

Сообщение 12sd 26 ноя 2011, 22:03

идея реализована.
боюсь только за скорость работы. что скажут камрады?
Синтаксис:
Используется csharp
public float last_time;
public float this_time;
public Transform prefab; //сюда закинуть нужный префаб

void Start () {
        last_time=Time.time;

}
       
       
void placedot () {
        Instantiate(prefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
}
       

void Update () {
        this_time=Time.time;
        if ((this_time-last_time)>2)  //вот тут через каждые n секунд, можно и дробное число.
                {
                        last_time=this_time;
                        placedot();
                }
        }
 
Добавить egorchiks96 в Skype
12sd
UNIт
 
Сообщения: 71
Зарегистрирован: 16 июл 2011, 21:47

Re: Запись движения объекта.

Сообщение 12sd 26 ноя 2011, 22:11

ArtUni3d писал(а):идея верна

:) хватит одного единственного массива

я вообще без массивов делал. просто каждые две секунды инстантится точка из префаба.
а вот как на одном массиве (список List) сделать я не знаю. с трехмерными заморачиваться лень было)
Добавить egorchiks96 в Skype
12sd
UNIт
 
Сообщения: 71
Зарегистрирован: 16 июл 2011, 21:47

Re: Запись движения объекта.

Сообщение seaman 26 ноя 2011, 22:47

с трехмерными заморачиваться лень было

Непонятно, а что Вы собирались в трехмерный массив запихивать? Координаты по отдельности что ли? Зачем тогда в Юнити есть Vector3? Что Вам мешает в обычный массив вектора запихивать?
Хотя, конечно, если не надо запоминать, а просто инстанцировать префабы, то Вы уже все сделали.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Запись движения объекта.

Сообщение 12sd 27 ноя 2011, 15:19

Зачем тогда в Юнити есть Vector3?

забыл.
Синтаксис:
Используется csharp
List<Vector3> list = new List<Vector3>();
//в таймере
list.Add (transform.position);
 

спасибо.
Добавить egorchiks96 в Skype
12sd
UNIт
 
Сообщения: 71
Зарегистрирован: 16 июл 2011, 21:47


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

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

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