반응형

unity 9

GetAxis 와 GetAxisRaw의 차이점

Input.GetAxis를 사용하게 되면 PC에서 마치 조이스틱을 사용하는 것 처럼 Horizontal 값이 서서히 증가하고 서서히 감소한다. 예를 들어 float xAxis = Input.GetAxis("Horizontal"); float zAxis = Input.GetAxis("Vertical"); // 이동할 방향 설정 Vector3 moveDirection = new Vector3(xAxis, 0, zAxis).normalized; // Rigidbody 를 사용하여 이동 Vector3 movement = moveDirection * moveSpeed * Time.deltaTime; rb.MovePosition(transform.position + movement); 이런 코드를 작성한다고 하면 ..

Unity 2023.10.23

[Unity] - Start() 함수와 Update() 함수

Start() 프로그램이 시작할 때 한 번만 호출이 되는 함수로 보통 컴포넌트를 받아오거나 업데이트나 다른 함수에서 사용하기 위해 초기화해 주는 기능을 한다. Update() 매 프레임 마다 호출이 되는 함수로 자신의 컴퓨터가 60 프레임이라면 초당 60번 실행이 되는 함수이다. 게임 실행에 필요한 함수들은 update() 함수에서 실행하도록 코딩한다.

Unity 2021.08.31

[Unity] transfom 을 사용한 오브젝트 움직이기

유니티에 transform을 사용하기 전에 앞서 알아둬야 하는 게 있습니다. 유니티에서는 위치를 표현할 떄 왼손 좌표계를 이용하고 x축은 빨간색 y축은 초록생 z축은 파란색입니다. transform.position position은 게임 오브젝트의 절대좌표를 나타냅니다. Vector3 값을 대입하면 해당 위치로 이동합니다. ex) transform.position = new Vector3(x, y, z); transfom.localPosition transform.localPosition은 게임 오브젝트의 상대 좌표를 나타낸다. 자식 오브젝트에서 이 함수를 사용할 경우 부모 오브젝트와 떨어진 좌표를 나타낸다. 사용방법은 transfom.localPosition과 동일합니다. transfom.Transla..

Unity 2021.08.28

[Unity] 인보크 - Invoke();

유니티에서는 시간을 지연시켜주는 함수가 있습니다. 대표적으로 Invoke와 Coroutine이 있습니다. 이번에는 Invoke부터 설명하도록 하겠습니다. void Start() { timer = spawn_time; Invoke("Write", 3); } void Write() { Debug.Log("3초가 지났습니다."); } 실행 결과로는 유니티 실행 후에 3초가 지난 후에 "3초가 지났습니다"라는 로고가 실행이 됩니다. Invoke("함수명",지연시간); 인 것을 알 수 있습니다. 또 다른 방법으로는 지연 반복이 있습니다. void Start() { timer = spawn_time; InvokeRepeating("Write", 3f, 1f); } void Write() { Debug.Log("3초..

Unity 2021.08.28

구조체(struct)를 사용하는 이유와 사용법

구조체를 사용하는 이유에 대해서 알아보자. 시작하기 전에 우선 구조체에 대해서 간단히 알아보자 구조체는 클래스에 개념을 가진 자료형으로 표현하고자 하는 물체를 표현할때 그 함수 안에 물체에 특징을 담아 변경이 용이하고 재상용이 가능한 객체지향의 특성을 가진 자료형이다. 예를 들어 몬스터를 표현하고자 하고 그 몬스터가 여러마리가 있다고 한다면 struct Anermy{ { int num [5]; int hp=30; int mp=30 int spd=12; int at=30; } 이런식으로 정의할 수 있다. 나중에 이 구조체를 갖고 와서 다른 몬스터를 체력이나 공격력만 다르게 바꿔서 쓸 수 있고 여러마리에 몬스터를 배열을 이용해서 간단하게 구현 할 수있다. 구조체를 다른 함수에서 불러와서 원하는 값을 변경하는..

Unity(2)- GetAxisRaw를 사용하여 오브젝트 이동시키는 방법

W,A,S,D 또는 방향키를 이용해 오브젝트를 원하는 방향으로 이동시키는 방법 부드러운 이동을 구현하는 방법으로 GetAxisRaw를 사용하였다 void Start() { myrigid=GetComponent(); //Start함수에서 myrigid라는 이름으로 Rigidbody를 상속시켜준다. } void Update() { float moveDirx = Input.GetAxisRaw("Horizontal"); //Horizontal값을 moveDirx에 넣어준다. float moveDiry = Input.GetAxisRaw("Vertical"); Vector3 moveHorizontal = transform.right * moveDirx; //moveDirx값이 커지면 transform.right값이..

Unity 2020.09.01

Unity(1)-오브젝트 이동시키기

Unity 이동시키는 여러가지 방법들 void Update() { vector3 target=new Vector3(x,y,z); float speed = 1f; 1. moveTowards() -일정한 이동 speed값이 커질수록 target으로 이동하는 속도가 빨라진다. transform.position = vector3.MoveTowords(transform.position,target,speed); 2.SmoothDamp() -부드러운 감속 이동 목표지점에 도달하기직전에 속도를 줄여 감속하여 이동하듯이 이동한다. speed값에 반비례하여 이동하여 속도가 작을수록 이동하는 속도가 줄어든다. transfom.position = Vector3.SmoothDamp(transfom.position,target..

Unity 2020.08.31
반응형