전체 글 23

[유니티 기초] 오브젝트 라이프 사이클

유니티의 기본적인 오브젝트 라이프 사이클 초기화→물리연산→게임로직→해체 1. 초기화 Awake(): 게임 오브젝트 생성시 최초 실행 Start(): 업데이트 시작 직전, 최초 실행 2. 물리 연산 FixedUpdate(): 물리 연산을 하기 전에 실행되는 업데이트 함수. 1초에 50분 꾸준히 호출 => CPU 부하 많음 주로 이동 기능에 사용 3. 게임 로직 Update(): 게임 로직 업데이트. 환경에 따라 실행 주기 바뀜 주로 주기적으로 변하는 로직을 넣을 때 사용 LateUpdate(): 모든 업데이트가 끝난 뒤 마지막으로 실행. 주로 캐릭터를 따라가는 카메라나 후처리 등에 사용 4. 해체 OnDestroy(): 게임 오브젝트가 삭제될 때 실행. 활성화와 비활성화 1. 활성화 OnEnable(): ..

유니티 2024.01.21

[유니티] 레벨 만들기 - Snap Increment

Cube를 이어붙여 땅을 만들려 했는데, 직접 붙이려니 딱 맞는지도 모르겠고 여간 노가다가 아니다 그래서 영상을 보니 edit에 들어가 snap setting에서 무언가를 설정하면 쉽게 가능하였다 그러나 내 화면에는 snap setting이 보이지 않았다 아마도 Unity 2022 이전 버전에만 있었나보다 그리하여 이와 똑같은 기능을 가진 Snap Increment 의 위치와 사용방법을 알아보았다 | 위치 Scene의 상하좌우 중 한 곳에 달라붙어 있는 버튼들 중 좌표그림 2개와 선들이 좍좍 그어져 있는 버튼이 있다 여기서 가장 오른쪽에 있는 선 좍좍 버튼이 Snap Increment 버튼이다 | 사용법 이 버튼을 누르면 Move, Rotate, Scale이 뜬다 Move: 객체를 이동시킬 거리 조정 R..

유니티 2024.01.09

[C#, 유니티] 게임 개발 - [SerializeField]와 [System.Serializable] 차이점

Unity에서 많이 쓰던데 왜 쓰는 걸까? 요약 어트리부트(Attribute) 기능 SerializeField private로 선언된 변수를 인스펙터에 노출시킴 System.Serializable MonoBehaviour 이외의 클래스 멤버들을 인스펙터에 노출시킴 ↓↓ 자세한 내용이 알고 싶으면 내려가기↓↓ 1. SerializeField 유니티에서 SerializeField는 private 필드의 직렬화를 위해 이용된다. 직렬화란? 객체가 메모리에 보존되지 않아도 저장이나 전송을 할 수 있게 만드는 것. 원래는 public을 이용하여 직렬화가 가능하도록 하며 인스펙터에서 특정 변수의 값을 변경할 수 있게 한다. 그러나 필요에 의해 private 필드를 써야할 경우, [SerializeField]를 작성..

유니티 2024.01.06