유니티 엔진

    [Unity] Mono 분석

    Mono .NET Framework가 매우 유용한 개발환경이지만, 환경에 상관없이 Windows 프로그램을 구동시키자는 취지로 개발되었기 때문에 Windows 환경에만 제한되어 있었다. 이에 오픈 소스 개발자 그룹은 Linux/Mac 등의 Windows 환경 외에서도 .NET Framework를 사용하기 위해 Mono 프로젝트를 시작하였다. .NET Framework는 오픈 소스 프레임워크가 아니었기 때문에 ECMA International(국제 표준 기구)에 등록된 .NET Framework의 CLI를 분석하여 구현했다고 한다. 현재 Microsoft는 .NET Framework를 오픈 소스로 공개했을 뿐만 아니라, Mono의 메인테이너인 Xamarin을 인수하고, .NET Core라는 Windows,..

    Unity 코루틴 (Coroutine) (호출 및 중단 방법)

    코루틴 정의 C언어 등에서 일반적으로 사용하는 함수는 시작할 때 진입하는 지점이 하나 존재하고 함수가 모두 실행되거나, return 구문에 의해 종료되는 지점을 설정할 수 있다. 이러한 함수를 Subroutine(서브루틴)이라 부르는데, 코루틴은 이를 더 일반화한 개념으로 진입하는 시점까지 여러 개를 가질 수 있는 함수를 의미한다. - 장점 일반적으로 게임에서 코루틴을 사용하지 않는다면 매 프레임마다 Update구문에서 동작을 확인해야하는 상황이 발생한다. 코루틴은 지정한 시간이 지난 후에 자동으로 확인된다. 이러한 점 때문에 특히 모바일 기기에서 코루틴의 활용은 성능 향상에 큰 영향을 미친다. 코드 가독성이 좋아진다. - 특성 특정 작업을 단계적으로 발생하게 한다. 시간 흐름에 따라 발생하는 루틴을 작..

    [Unity] 프리팹 (Prefab)

    Scene에 존재하는 오브젝트와 오브젝트의 컴퍼넌트들을 하나의 에셋(Assets)형태로 만드는 기능이다. 생성 방법 Hierarchy 창에서 프리팹으로 만들기를 원하는 오브젝트를 선택한 후, Assets 창으로 드래그 앤 드롭한다. 그러면, 다음과 같이 일반 에셋들과 구분되는, 파란색 정육면체가 생성된다. 이는 프리팹(Prefabs) 이라는 표시이다. 생성한 프리팹을 Scene으로 드래그 앤 드롭하면, 동일한 컴퍼넌트와 속성을 지닌 오브젝트가 여러개 생성된다. 이렇게 프리팹을 Scene에 배치하는 일련의 과정을 "프리팹의 인스턴스화" 라고 부른다. 오버라이딩 Scene에 배치한 프리팹을 오버라이딩 하는 것도 가능하다. 단순히 컴퍼넌트의 값을 바꿔주면 되는데, 오버라이딩을 수행한 프리팹은 다음과 같이 굵은..