GameDevelop/Unity기초쌓기

[Unity] x값 이동 애니메이션

도도돋치 2025. 3. 20. 23:48
Contents 접기
728x90

Script코드 확인

script를 처음 생성했을 때 코드이다.

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

public class Rtan : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

 

좌우로 이동할 경우 Rtan오브젝트 Transform의 Position x값을 계속 변화시켜야 한다.

코드를 보면 Start는 딱 한번만 호출이되고,

Update의 경우 여러번 연산(프레임마다 한 번 호출)이 이루어진다.

💡따라서, Update에 코드를 작성하여야 한다.

 

Script에서 Transform Position x값에 접근하는 법

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

public class Rtan : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Application.targetFrameRate = 60;  //1초에 60번만 계산
    }

    // Update is called once per frame
    void Update()
    {
        //transform.position += new Vector3(1f, 0, 0);  //x,y,z값
        transform.position += Vector3.right;  //오른쪽으로 가는 x값이 1인 벡터 간소화

    }
}

아까 Update에 x값을 더해주는 코드를 작성해 보았다. 

코드를 보면 script에서 transform postion의 x값에 접근하기 위해 Vector를 사용한 것을 확인할 수 있다.

이를 간략하게 Vector3.right(Vector3(1f,0,0)과 동일)로 표현할 수 있다. 

( *f는 소숫점을 위해 붙여주었다. 참고: [C#] 자료형 )

 

하지만 캐릭터가 움직이는 속도는 컴퓨터 사양에 따라 달라질 수 있다. 

그래서 어떤 기기든 같은 속도로 이동할 수 있도록 설정해주어야 한다.

Start에 모든 프레임의 타겟을 동일하게 설정해주는 코드를 추가하였다.

void Start()
{
    Application.targetFrameRate = 60;  //1초에 60번만 계산
}

이렇게 하면 모든 기기들이 1초에 설정된 프레임 값만큼만 계산할 수 있게끔 맞춰준다.

 

📌 속도를 조절하려면 이 Vector3에 곱셈을 해주면 된다.

transform.position += Vector3.right * 0.05f;	//(1,0,0)인 각각의 자리에 0.05를 곱해줌

 

위에 코드를 실행시키면 이렇게 캐릭터가 오른쪽(x값이 0.05씩 증가하는 중)으로 가게된다.

잘가...

이제 캐릭터가 화면밖으로 탈주하지 못하도록 다음 게시글에서 코드를 추가해보도록 하자.

728x90