Показать сообщение отдельно
Старый 05.08.2014, 00:04   #106
EvilOkta
Знающий
 
Аватар для EvilOkta
 
Регистрация: 31.07.2008
Сообщений: 321
Написано 108 полезных сообщений
(для 229 пользователей)
Ответ: Передача переменной в метод

Я снова со своими тупыми вопросами.
Продолжаю делать скрипт камеры. Поставило в тупик следующее:
public void Camera_SlideCalc () {
SlideVector = Vector3.zero;
CameraTarget.position = Vector3.SmoothDamp(CameraTarget.position,CameraTarget.position+SlideVector,ref velocity,2f);
private Vector3 velocity = Vector3.zero;
По логике если стартовая точка и конечная совпадает (т.к. прибавляется нулевой вектор) то движения не должно быть, а оно есть. Больше никаких источников возникновения движения нет. Если комментирую строчку со SmoothDamp то движение исчезает.

Всю голову поломал, видимо что-то опять недопонимаю...
может velocity обнулять нужно после вызова функции?

upd:
сократил функцию до вида, проблема осталась:
public void Camera_SlideCalc () {
CameraTarget.position = Vector3.SmoothDamp(CameraTarget.position,CameraTarget.position,ref velocity,2f);}
такое ощущение, что я не до конца понял принцип работы SmoothDamp. Почему если начало и конец движения равны движение все равно есть?
__________________
Области Хаоса - мой новый Youtube проект

Последний раз редактировалось EvilOkta, 05.08.2014 в 00:20. Причина: добавление
(Offline)
 
Ответить с цитированием