리눅스 설치 1. Virtual Box + Ubuntu Server(CLI) CLI : Command Line Interface https://www.virtualbox.org/wiki/Downloads https://ubuntu.com/download/server - Option 2 2. 구름 IDE (10GB 무료) htt...
유니티 - 스크립트로 콘솔 내용 지우기
private static MethodInfo clearMethodInfo; private static void ClearLog() { if (clearMethodInfo == null) { var assembly = Assembly.GetAssembly(typeof(UnityEditor.Editor)); ...
유니티 - 에디터 윈도우 관련 유용한 코드 모음
Enum - EditorWindowType [Flags] private enum EditorWindowType { Scene = 1, Game = 2, Inspector = 4, Hierarchy = 8, Project = 16, Console = 32 } 특정 윈도우...
유니티 - 커스텀 에디터(인스펙터)의 스크롤바를 고려한 너비 구하기
Note 커스텀 에디터에서 EditorGUIUtility.currentViewWidth를 통해 현재 에디터의 너비를 구할 수 있지만, 위처럼 컴포넌트 창이 상하로 길어져 우측에 스크롤바가 생기는 경우 스크롤바가 컨트롤들을 가림에도 불구하고, currentViewWidth는 스크롤바를 포함한 너비를 알려주며 스크롤바를 제외한 너비를 구하는 ...
Singleton Pattern(싱글톤 패턴)
Singleton Pattern 특징 정적 참조로부터 인스턴스 참조를 가져올 수 있다. 특정 클래스에 단 한 개의 객체만 존재하도록 보장할 수 있다. 사용처 프로그램 내에 반드시 하나만 존재해야 하는 클래스 고려사항 싱글톤 객체 생성 타이밍을 고려해야 한다. (정적 or 동적) 기본적으로 스레드 안전하지 않으므로, 추...
유니티 - 마우스 커서가 UI 위에 있는지 검사하는 간단한 코드
private static bool IsPointerOverUI() => UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject();
유니티 - 이벤트 함수는 어떻게 실행되는 것일까?
Unity Event Functions 유니티엔진에서 ‘스크립트’를 작성한다고 하면, 보통 MonoBahaviour를 상속받는 클래스의 스크립트를 작성하는 것을 떠올릴 것이다. 그리고 자연스럽게 이 클래스 내에 Awake(), Start(), Update() 등의 메소드를 작성하게 된다. 심지어 비주얼 스튜디오 같은 개발 환경에서는 이런 메소드...
.NET 환경의 컴파일 과정 - CLR, CIL, JIT, AOT
.NET 환경의 컴파일 과정 예전의 C, C++의 경우 개별 환경이 프로그램의 실행 시간에 영향을 미치는 문제가 있었다. 하지만 Java가 나오면서 컴파일된 바이트코드는 윈도우, 리눅스, 그 어떤 실행환경이든 JVM만 실행 가능하다면 실행할 수 있다는 장점을 통해 인기를 끌었고, 마이크로소프트는 이를 이용해 기존 문제를 해결할 수 있도록 .NE...
Method Chaining & Generic(메소드 체인 패턴)
메소드 체이닝 패턴 특징 메소드가 객체를 반환하는 형태로 작성한다. 문장을 마치지 않고 메소드 호출을 이어나갈 수 있다. 가독성을 향상시킬 수 있다. 주의사항 한 문장에 여러번의 메소드 호출이 존재할 수 있으므로, 에러가 발생할 경우 정확한 지점을 한 번에 찾기 힘들다. C# 구조체의 메소드를 체이닝으로 구현할 경우, ...
유니티 - FBX Exporter
Summary 유니티 내에 존재하는 메시를 .fbx 파일로 추출해주는 애셋 Import [Window] - [Package Manager] 좌측 상단 [Unity Registry] 설정 FBX Exporter 검색 및 Install How to Use ...