본문 바로가기

프로그램/유니티 스크립트 소스

[유니티 스크립트 소스] 비행 오브젝트를 부드럽게 따라다니는 오브젝트(카메라)

728x90
반응형

지형 오브젝트(차, 사람 등)를 부드럽게 따라다니는 오브젝트 또는 카메라 소스인 Smooth Follow2입니다.

 

using UnityEngine; 

public class SmoothFollow2 : MonoBehaviour 
{ 
    public Transform m_Target; 
    public float m_Distance = 3.0f; 
    public float m_Height = 3.0f; 
    public float m_Damping = 5.0f; 
    public bool m_SmoothRotation = true; 
    public bool m_FollowBehind = true; 
    public float m_RotationDamping = 10.0f; 

    void FixedUpdate() 
    { 
        Vector3 wantedPosition; 
        if (m_FollowBehind) 
            wantedPosition = m_Target.TransformPoint(0, m_Height, -m_Distance); 
        else 
            wantedPosition = m_Target.TransformPoint(0, m_Height, m_Distance); 

        transform.position = Vector3.Lerp(transform.position, wantedPosition, Time.deltaTime * m_Damping); 

        if (m_SmoothRotation) 
        { 
            Quaternion wantedRotation = Quaternion.LookRotation(m_Target.position - transform.position, m_Target.up); 
            transform.rotation = Quaternion.Slerp(transform.rotation, wantedRotation, Time.deltaTime * m_RotationDamping); 
        } 
        else  
            transform.LookAt(m_Target, m_Target.up); 
    } 
}

 

 

 

728x90
반응형