EasyCastleUNITY

ref 키워드 and Vector3.SmoothDamp 본문

개인 필기

ref 키워드 and Vector3.SmoothDamp

EasyCastleT 2023. 8. 18. 15:00

사용시 원본이 변함

https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/ref

 

ref 키워드 - C# 참조

ref(C# 참조) 아티클 07/14/2023 기여자 19명 피드백 이 문서의 내용 --> 다음 컨텍스트에서 ref 키워드(keyword) 사용합니다. 참조로 인수 전달 메서드의 매개 변수 목록에 사용되는 경우 ref 키워드는 인

learn.microsoft.com

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RefMain : MonoBehaviour
{
    
    void Start()
    {
        int age = 10;
        this.SayHello(ref age);
        Debug.Log(age);
    }

    void SayHello(ref int num)
    {
        num = num + 40;
    }
}

실제 age가 변경됨

무조건 적으로 변수 선언이 필요하다. 

SmoothDamp

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RefMain : MonoBehaviour
{
    [SerializeField]
    private Transform startTrans;
    [SerializeField]
    private Transform endTrans;
    [SerializeField]
    private Transform playerTrans;

    private Vector3 velocity = Vector3.zero;
    [SerializeField]
    private float smoothTime = 1f;

    private void Update()
    {
        //반환값 : 보간된 위치
        this.playerTrans.position= Vector3.SmoothDamp(playerTrans.position, endTrans.position, ref velocity,this.smoothTime);
        Debug.LogFormat("<color=lime>velocity:{0}</color>", this.velocity); //증가하다가 도착할 때즘 되면 다시 감소해서 0으로
    }


}

'개인 필기' 카테고리의 다른 글

2023/08/22 필기  (0) 2023.08.22
2023/08/21 필기  (0) 2023.08.21
Lerp and Slerp  (0) 2023.08.18
정규화 벡터  (0) 2023.08.18
유니티 라이프 사이클  (0) 2023.08.16