본문 바로가기

유니티 이야기19

[Unity] 유니티 싱글톤 오브젝트의 활용 - singleton 프로그래밍을 설계 또는 디자인할 때 사용되는 디자인 패턴 중 하나인 싱글톤은 게임 개발 시 많이 사용되는 설계 방법입니다. 싱글톤은 프로젝트 안에서 유일하게 1개의 인스턴스로 존재하여 다른 클래스와 데이터 공유가 쉽다는 장점이 있습니다. 이런 이유로 게임 개발에서는 데이터 저장, 오디오 관리, 게임 점수 관리를 위해 사용되는 게임 매니저를 싱글톤으로 설계하고 구현하여 프로젝트 내 다른 클래스들과 연계하여 전체 기능을 구현합니다. 1. 게임 매니저 싱글톤으로 구현하기 아래는 게임 매니저를 만들고 해당 인스턴스를 할당할 정적 변수를 선언하고 Awake 함수에서 자신의 인스턴스를 할당하는 예제입니다. 게임 매니저는 score라는 게임 안에서 점수를 저장하는 정수 타입의 변수를 가지고 있으며 해당 점수는 Add.. 2022. 9. 18.
[Unity] 유니티 코루틴 사용법 - Coroutine 사용 이유 코루틴이란 유니티에서 제공하는 기능으로 코드 내에서 구문 실행 도중에 처리를 대기시키거나 순차처리에 함수를 병렬로 동시에 처리하도록 구현할 수 있습니다. 유니티 api에서는 Coroutine이 스레드가 아닌 점을 명심하라고 표기되어있습니다. 말로 하면 좀 복잡해 보이는 데 사용 예시를 보면 쉽게 이해됩니다. 게임 안에서 캐릭터가 중독되어 체력이 감소하는 경우 또는 http 또는 I/O 처리와 같이 대기시간이 긴 비동기 작업을 처리하는 데 사용되며 개인적인 생각이지만 프레임당 실행되는 Update문으로 처리하기보다는 코루틴을 사용하여 지정한 시간 간격으로 처리하여 성능상 이점을 획득할 수 있습니다. 이 포스트에서는 코루틴의 기본적인 사용법 및 특성에 대해 알아보겠습니다. 1. 코루틴에 선언하기 코 루틴은 .. 2022. 9. 18.
[Unity] 유니티 게임 오브젝트를 찾는 방법 - GameObject 이번 포스팅에서는 유니티의 게임 오브젝트를 찾아 레퍼런스를 얻는 방법을 알아보려고 합니다. 이전에 작성한 유니티 컴포넌트 찾는 방법에서 이야기했듯이 유니티 scene 안에 게임 오브젝트는 무조건 transform 컨포넌트를 가지고 있습니다. 이러한 이유로 원활하게 원하는 게임 오브젝트를 찾으려면 transform 컨포넌트를 이용해야 합니다. 매번 진행하고 있는 상황에 따라 게임 오브젝트를 찾는 방법은 다를 수 있기 때문에 대표적으로 많이 사용되는 특정 스크립트를 가지고 있는 오브젝트, 부모나 자식 게임 오브젝트, 비활성화된 게임 오브젝트 등을 찾는 방법을 알아보겠습니다. 1. 먼저 알아야 할 내용 원하는 게임 오브젝트를 원활하게 찾기 위해서는 transform을 이용하여 부모나 자식 오브젝트에 접근하는 .. 2022. 9. 16.
[Unity] 유니티 컴포넌트를 찾는 방법 - GetComponent 유니티는 컴포넌트 단위의 개발 방식을 사용하는 게임 엔진으로 유니티의 게임 월드를 존재하는 요소들은 Scene 안에 게임 오브젝트로 존재하고 이러한 게임 오브젝트는 컴포넌트로 필요한 기능을 추가하여 하나의 완성된 기능을 수행합니다. 예로 씬에서 빈 오브젝트를 만들어보면 기본적인 컨포넌트인 transform 컨포넌트가 포함되어있습니다. 이를 다시 이야기하면 "Scene 안에 존재하는 모든 오브젝트들은 최소 위치나 회전 크기 값을 가지고 있어야 된다."라고 해석이 가능할 것 같은데요. 유니티 사용에서 꼭 필요한 컨포넌트 찾는 검색 방법인 GetComponent 사용 방법을 알아보겠습니다.  1. 먼저 알아야 할 내용기본적인 전제 정보를 알고 나면 컴포넌트를 찾는 문법은 어렵지 않습니다. 그렇기에 문법보다 제.. 2022. 9. 15.