본문 바로가기
728x90
반응형

Unity73

유니티 코드 디버깅 (Debugging) 1. 문제 해결 문제 해결에 있어, 에러가 존재하는 스크립트 등에 접근하여 소스 코드를 수정한다. 간단한 수정만으로 대부분의 문제는 쉽게 해결이 가능하다. 하지만 프로그램이 복잡하고 커질수록 문제를 발견하고, 해결하는 게 쉽지 않은 경우들이 있다. 유니티에서 프로그램을 개발할 때, 게임 로직 등의 소스 코드가 잘 작동하는지 확인하는 방법은 프로그램을 에디터 상에서 실행( 게임 플레이 )을 해보면 가능하다. 만약 에러가 존재한다면, 유니티는 해당 에러를 콘솔 창을 통해 알려준다. 개발자는 문제가 되는 부분을 발견하고, 문제를 해결한다.  2. Unity Debug 실행하면 정상적으로 작동하는데, 의도치 않은 결과가 발생하는 경우도 있다. 이러한 문제는 콘솔 창을 통해서 확인되지 않으며, 직접 개발자가 그와.. 2021. 1. 16.
유니티 UI 드래그앤드롭 (Drag and Drop) 1. 드래그 앤 드롭 Drag and Drop 가끔, 사용자의 편의성을 고려하지 않은 게임이나 프로그램을 사용하다 보면, 불편함을 느끼는 경우가 있다. 유니티는 사용자에게 편의를 제공할 수 있는 이벤트를 구현하기 위한 다양한 인터페이스를 제공하고 있다. (링크 참조)  https://notyu.tistory.com/54 유니티 UI 이벤트(Event)1. 이벤트 시스템 (EventSytem) 이벤트 시스템(EventSystem)은 씬에서 입력(Input), 레이 캐스트(Raycast), 전송 이벤트 처리 등을 담당한다. UI를 생성하면, 이벤트 시스템이 함께 생성된다. 이벤트 시스템은notyu.tistory.com 그중 이벤트 인터페이스를 활용하여 구현할 수 있는 UI의 대표적 기능 중 하나인 드래그앤드.. 2021. 1. 10.
유니티 스크립터블 오브젝트( ScriptableObject ) 1. ScriptableObject 스크립터블 오브젝트(ScriptableObject)는 대량의 데이터를 저장할 수 있는 데이터 컨테이너이며, 미리 정의된 데이터를 공유하여, 메모리의 사용을 줄일 수 있도록 구현되어 있다.  스크립터블 오브젝트는 프로젝트를 빌드하기 전 에디터 모드에서 수정 및 정의가 가능하도록 설계되어 있다. 유니티 프로그램 안에서 플레이 모드 런타임 시에는 수정이 가능하다. 그러나 빌드된 후에는 수정을 할 수 없다. 물론, 기타 여러 가지 방법을 사용하면 가능할 수 있다. 인터넷 상에서 스크립터블 오브젝트를 사용하여 인벤토리 시스템을 구현하는 것을 본 적이 있다. 실제 테스트를 해보지는 않았다. 그렇지만 인벤토리 시스템과 같이 실시간으로 데이터를 수정 및 저장하는 부분은 C# clas.. 2021. 1. 5.
유니티 오브젝트 풀링(Object pooling) 1. 오브젝트 풀링(Object pooling) 오브젝트 풀링은 개체를 할당하고 파괴하는 대신, 미리 오브젝트 집합(Object Pool)을 생성하고, 필요할 때에 불러와 사용하고, 사용한 개체를 다시 개체 집합에 반환하여, 개체들을 재사용하는 디자인 패턴 중의 하나이다.    오브젝트 풀링은 미리 생성된 개체를 재사용하므로 개체를 생성하고, 파괴하는데 드는 시간 및 비용의 낭비를 줄일 수 있다. 오브젝트의 생성 및 파괴는 자원의 낭비가 심하다. 게다가, 오브젝트의 파괴는 가비지 컬렉션(Garbage Collection )을 호출하게 된다. 가비지 컬렉션은 시스템에서 자동으로 호출되며, 수집 과정은 상당한 CPU 시간을 요구한다. 최적화와 관련된 글을 접하게 되면 자주 언급되는 것이 가비지 컬렉션이다. .. 2020. 12. 2.
728x90
반응형