Вторник, 26 Ноября 2024, 09:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Зависимый от камеры куб с небольшим изменением положения
robertonoДата: Воскресенье, 13 Апреля 2014, 14:17 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
Есть камера. Есть куб.
Нужно:

Если камера по Y = -90 то у куба Y = -1.
Если камера по Y = 90 то у куба Y = 1.
Это начало и конец.
А если допустим Y камеры = 10 то у куба там, не знаю, Y = 0.12542434.

Т.е. что бы это ещё и плавно было
Надеюсь кто нибудь понял и сможет мне помочь smile

Добавлено (13.04.2014, 14:17)
---------------------------------------------
Может быть здесь нужно использовать Mathf или формулу какую нибудь , но я такой не знаю)

MisterTimeChipДата: Воскресенье, 13 Апреля 2014, 14:36 | Сообщение # 2
частый гость
Сейчас нет на сайте
Ну что то вроде этого (Не проверял)

Код
void Update()
{

    transform.position.y = Cube.transform.position.y *90

}


Ну или обратное

Код
void Update()
{

  Cube.transform.position.y = transform.position.y /90

}

Добавлено (13.04.2014, 14:36)
---------------------------------------------
Или ты про вращение?


Программист - не профессия. Это судьба.
robertonoДата: Воскресенье, 16 Ноября 2014, 23:50 | Сообщение # 3
Чокнутый Кот
Сейчас нет на сайте
MisterTimeChip, спасибо, я чуть изменил и теперь нормально) Суть уловил)

Добавлено (16.11.2014, 17:52)
---------------------------------------------
Опять туплю.
Вопрос тот же.
Нужно сделать так, что бы когда значение
A = -80 значение B было = 90
а когда
A = 80 значение B было = -25

Помогите пожалуйста

Добавлено (16.11.2014, 23:50)
---------------------------------------------
Ну в общем то сам разобрался используя подбор..

dimanmonsterДата: Вторник, 18 Ноября 2014, 16:54 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Код

Public int A;
Public int B;

if(A = -80){

B = 90;

}

if(A = 80){

B = -25;

}
RangerДата: Вторник, 18 Ноября 2014, 16:58 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
dimanmonster,
biggrin biggrin biggrin biggrin biggrin


robertonoДата: Вторник, 18 Ноября 2014, 17:20 | Сообщение # 6
Чокнутый Кот
Сейчас нет на сайте
biggrin
ArtanielДата: Вторник, 18 Ноября 2014, 17:30 | Сообщение # 7
частый гость
Сейчас нет на сайте
Вообще задачка на линейную интерволяцию, т.е. Lerp
Пусть есть
A0 - начальное значение 1 параметра
A1 - конечное его же
B0 - начальное значение второго параметра
B1 - конечное второго

Пусть в каком то состоянии значение первого параметра A
тогда значение второго:
B = Mathf.Lerp(B0,B1, (A-A0) / (A1-A0));

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

Вот списочек разных лерпов в документации
Unity Scripting API: Lerp


Сообщение отредактировал Artaniel - Вторник, 18 Ноября 2014, 17:32
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг