Страница 2 из 2

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

СообщениеДобавлено: 10 дек 2011, 18:08
NOVA
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
Неужели это я что-то неправильно перенёс?

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

СообщениеДобавлено: 10 дек 2011, 18:29
AndreyMust19
Молодец, а теперь после 0.1 поставь f.
:D

и
transform.position.x = xpos;
на
transform.position = new Vector3(xpos, transform.position.y, transform.position.z);

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

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

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

СообщениеДобавлено: 10 дек 2011, 19:24
NOVA
Yeahhhhhh!!! Заработало. Терь буду втыкать как оно работает)))) Всем спасибо, только не закрывайте, ещё повороты мучать надо)