Тема: Smooth Follow
Показать сообщение отдельно
Старый 18.04.2013, 20:50   #1
mepihin
ПроЭктировщик
 
Регистрация: 31.12.2012
Сообщений: 165
Написано 5 полезных сообщений
(для 7 пользователей)
Smooth Follow

using UnityEngine;
using System.Collections;

public class 
Look : MonoBehaviour {
    
    public 
Transform target;
    
    public 
float height;
    public 
float distance;
    public 
float heightDamping;
    public 
float rotationDamping;
    
    
void LateUpdate()
    {
        if(!
target) return;
        
        var 
wantedRotationAngle = target.eulerAngles.y;
        var 
currentRotationAngle = transform.eulerAngles.y;
        
        var 
wantedHeight = target.position.y + height;
        var 
currentHeight = transform.position.y;
        
        
currentRotationAngle = Mathf.LerpAngle (currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime);
        
currentHeight = Mathf.Lerp (currentHeight, wantedHeight, heightDamping * Time.deltaTime);
        var 
currentRotation = Quaternion.Euler (0, currentRotationAngle, 0);
        
        
transform.position = target.position;
        
transform.position -= currentRotation * Vector3.forward * distance;

        
transform.position = new Vector3(transform.position.x,currentHeight,transform.position.z);
        
transform.LookAt(target);
    }
    
} 
У меня стоит игрок с CM, CC, FPSInputController. Почему-то у меня при игре игрок двигается не по тем осям, то есть vertical становится horiziontal и наоборот. Как сделать так, чтобы камера правильную позицию приняла?
(Offline)
 
Ответить с цитированием