본문 바로가기

전체 글

EOS: Epic Online Service 플러그인 1. 언리얼 엔진 유료 플러그인 https://redpointgames.gitlab.io/eos-online-subsystem/ EOS Online Subsystem for Unreal Engine | EOS Online Subsystem Use Epic Online Services in Unreal Engine! With support for authentication, friends, sessions, parties, presence, stats, achievements, leaderboards, Player Data Storage, Title Storage and peer-to-peer networking, this plugin has what you need to build game redpoin.. 더보기
EOS: 리더보드 예제 런타임 Assertion 에러 발생 ConvertUnixTimestampToUTCString 함수의 113라인 std::wstring DateTimeStrW() 에서 Assert를 통과하지 못하고 에러가 생기는 경우가 발생한다. 원인 탐색이 귀찮은 관계로 그냥 Leaderboard.cpp 호출부를 코멘트 아웃함. 로깅할 때만 쓰길래... 잘 받아온다. 더보기
Unity: 비동기와 코루틴을 혼동하지 않기 본론에 앞서 유니티에서의 대부분 로직은 동기 방식으로 작성되며, 흐름(Flow, Stream)을 관리하거나 시간을 조절해 시행해야하는 작업은 코루틴(Coroutine)이라는 기능을 활용하여 구현됩니다. 특히 유니티는 기본적으로 메인스레드가 아닌 곳에서의 네이티브 API 호출을 허용하고 있지 않습니다. 비동기 방식으로 로직을 작성하더라도 유니티 API를 사용해야 하는 끝단에서는 메인스레드에서 함수 Call 작업을 마무리 해 주어야 합니다. 이 때 일반적으로 사용되는 방식이 액션을 큐에 추가해 유니티 Update 루프에서 처리해주는 디스패처입니다. 이 방법론이 필요한 이유와 한계, 장단점을 알고 계시다면 아래 내용은 스킵해도 됩니다. 왜 게임 개발에서는 비동기 사용이 적을까요? 상용 엔진에서는 async/a.. 더보기
Unity: ScnceManager.LoadSceneAsync 프레임 드랍 씬을 비동기로 로딩할 수 있는 API입니다. https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadSceneAsync.html Unity - Scripting API: SceneManagement.SceneManager.LoadSceneAsync You can provide the full Scene path, the path shown in the Build Settings window, or just the Scene name. If you only provide the Scene name, Unity loads the first Scene in the list that matches. If you have multiple.. 더보기
문제해결: 3. XAML, XML 한국어 포함시 컴파일 불가능 이슈 해결 XAML 작업 중 컴파일을 시도하면 invalid character in the given encoding 에러가 뜨는 경우가 있습니다. 949 한국어 인코딩으로 세팅된 경우 발생할 수 있습니다. UTF-8 with signature 옵션으로 바꾸어 해결합니다. 더보기
Unity: 로그 파일 기본 경로 빌드된 유니티 엔진의 로그 - C:/Users/사용자이름/AppData/LocalLow/회사명/프로덕트명/ 에디터 로그 - C:/Users/사용자/AppData/Local/Unity/Editor 기본 회사명 : DefaultCompany 더보기
Unity: InputSystem 액션 이름 변경시 유용한 팁 New Input System은 스크립터블 오브젝트를 통해 프로필 형태로 관리된다. 에디터를 열어보면 사용하기 편하게 정리되어 있다. 이 데이터를 바탕으로 자동으로 생성되는 스크립트로 제어와 동작 구현이 가능하다. 모노비헤이비어 클래스에서 인터페이스를 상속받고, 콜백을 설정해준 뒤 인터페이스를 구현해주면 InputSystem이 이벤트를 밀어넣어준다. 그런데, ActionMap이나 Action의 이름을 바꾸어야 할 때 에디터에서 변경 후 코드를 생성하면 스크립트에서는 변경사항이 적용되지 않는다. 모두 찾아 바꾸기 기능을 이용해 수정하는 대안도 있겠지만 네이밍 컨벤션이 비슷한 경우를 완벽하게 필터링 해 수정하기 어렵다. 이 작업 하자고 정규식을 만들어 돌리는 것 역시 시간 낭비일 수 있다. 자동생성된 클래스.. 더보기
서버 인스턴스에서 특정 포트 연결 허용하기 설정 Azure VM에 서버 인스턴스를 띄워두고 외부에서 접속해보려고 시도중, 방화벽에서 인바운드와 아웃바운드 설정을 했음에도 연결이 거부되는 경우 지정된 앱에게 방화벽을 통해 설정을 해 주어야 합니다. 서버 VM에서 firewall 설정을 열고, Allow an app or feature through Windows Firewall 메뉴를 열어줍니다. Allow another app... 버튼을 눌러 서버 인스턴스 실행파일을 등록합니다. Network Types는 private도 체크해줍니다. OK를 눌러 설정을 적용하면 서버 프로세스에서 정상적으로 외부 네트워크와 통신할 수 있게 됩니다. 더보기