Как сделать запаздывающую камеру?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Re: Как сделать запаздывающую камеру?

Сообщение NOVA 10 дек 2011, 18:08

seaman. Воткнул конкретный код из второго сообщения, тот что с lerp

Синтаксис:
Используется javascript
using UnityEngine;
using System.Collections;

public class CameraController : MonoBehaviour {
       
         private Transform _nova;
       
       
         public void Start ()
         {
             _nova = GameObject.Find ("NOVA").transform;
         }

         public void Update ()
         {
       
               
                float xpos = transform.position.x;
                 transform.position = Vector3.Lerp(transform.position,_nova.position, 0.1*Time.deltaTime);
                 transform.position.x = xpos;
               
}
}


Вылазят такие ошибки: Assets/CameraController.cs(23,47): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Lerp(UnityEngine.Vector3, UnityEngine.Vector3, float)' has some invalid arguments
Assets/CameraController.cs(23,47): error CS1503: Argument `#3' cannot convert `double' expression to type `float'
Assets/CameraController.cs(24,28): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable
Неужели это я что-то неправильно перенёс?
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как сделать запаздывающую камеру?

Сообщение AndreyMust19 10 дек 2011, 18:29

Молодец, а теперь после 0.1 поставь f.
:D

и
transform.position.x = xpos;
на
transform.position = new Vector3(xpos, transform.position.y, transform.position.z);
Последний раз редактировалось AndreyMust19 10 дек 2011, 18:38, всего редактировалось 1 раз.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Как сделать запаздывающую камеру?

Сообщение seaman 10 дек 2011, 18:34

Да, конечно, недоглядел. Плюс в C# нельзя менять компонент вектора, только вектор целиком. Поэтому последняя строка:
transform.position = new Vector3(xpos, transform.position.y, transform.position.z);
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Как сделать запаздывающую камеру?

Сообщение NOVA 10 дек 2011, 19:24

Yeahhhhhh!!! Заработало. Терь буду втыкать как оно работает)))) Всем спасибо, только не закрывайте, ещё повороты мучать надо)
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Пред.

Вернуться в Почемучка

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

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