반응형

Unity3D 43

[Unity][C#] 게임에서 에러 발생으로 Crash가 발생 하면 로그 받기

[Unity][C#] 게임에서 에러 발생으로 Crash가 발생 하면 로그 받기 public class CrashHandler : MonoBehaviour { void OnEnable() { Application.logMessageReceived += HandleLog; } void OnDisable() { Application.logMessageReceived -= HandleLog; } void HandleLog(string logString, string stackTrace, LogType type) { switch (type) { case LogType.Error: case LogType.Assert: case LogType.Exception: { Debug.Log($"[CrashHandler] {..

Unity3D 2024.02.16

구글 Noto Sans 폰트 & Font Icon & Font Awesome

구글 Noto Sans 폰트 사이트 https://fonts.google.com/?query=noto Browse Fonts - Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com 아이콘 라이브러리 폰트 - 폰트 처럼 아이콘을 사용 하자. Font Awesome https://fontawesome.com/ Font Awesome The internet's icon library + toolkit. Used by millions of designers, devs, & content creators. Open-source. Always free. Always awesome. fon..

Unity3D 2023.10.31

Unity Finite State Machine | FSM | 유한상태머신

게임을 만들때 Finite State Machine (FSM)을 필수 적으로 사용을 하게 되는 것 같다. 지금까지 FSM을 만들어 사용 하고 있는데, 처음에는 일반적인 FSM 방식의 상태 클래스에 Enter / Update / Exit 등의 가상 메소드를 정의 해놓고 상태 마다 상속 해서 구현 하는 방식으로 만들어서 사용 했다. 간단한 상태도 cs파일(또는 상태 마다 클래스 정의)로 만들어야 하고 이게 상태가 많아지면 cs 파일도 많아지는 문제가 있다. 두번째는 GUI FSM이나 Unity 에니메이터에서 사용 하는 Transition 상태 조건을 연결 해서 상태를 전환 해주는 방식을 사용 했었다. 이 방식 역시 상태마다 cs파일이나 클래스가 필요한것은 위와 마찬가지 이지만 Transition 조건을 추가..

Unity3D 2023.06.02

Unity - Can't get home directory Error

Unity - Can't get home directory Error 유니티 프로그램을 Linux(Ubuntu)로 빌드 해서 리눅스에서 실행 하면 다음과 같은 에러 발생 Can't get home directory 또는 게임 실행은 잘 되나 마우스 클릭이나 터치를 입력 받을 때 UnityPlayer.so에서 Crash (SIGSEGV) 발생 하며 프로그램이 죽어 버립니다. 이 것은 유니티가 HOME 환경변수에서 Home Directory를 참고 할 때 문제가 발생 해서 생기는 문제 입니다. 유니티 프로그램을 실행 하기 전에 export HOME=/yourHome 하고 환경변수 설정을 하고 프로그램을 실행 하면 에러가 발생 하지 않습니다.

Unity3D 2023.03.07

DLL 의존성 확인 | DLL dependency checking

DLL 의존성 확인 | DLL dependency checking Unity 작업 하다가 c++ dll을 만들어 사용 해야 할 경우가 있는데 만약 이 dll이 다른 dll을 사용 할 경우 시스템에 있거나 unity Plugins 폴더에 있던지 해야 정상적으로 dll이 로딩 된다. ( dll unkown assembly , unkown type 등등의 알 수 없는 에러만 한 줄 띄어줌. ) 이 경우 먼저 해당 dll의 다른 dll의존성 확인을 먼저 해봐야 한다. Visual Studio에 포함 되어 있는 dumpbin 명령어를 사용 하면 쉽게 확인 가능. dumpbin /dependents Specified.dll dumpbin.exe는 visual studio 실행 폴더 어딘가? 있는데 개발자 명령 프롬..

Unity3D 2023.01.11

[Unity] transform.root.GetComponentInChildren<Canvas>() | How do you get the parent canvas?

How do you get the parent canvas? Top Canvas 찾기 : Unity Editor 말고 Script에서 UI가 적용 되고 있는 최상위 Canvas를 코드로 찾을 때 아래 메소드를 사용 할 수 있습니다. transform.root.GetComponentInChildren(); var topCanvas = transform.root.GetComponentInChildren(); 추가적으로 Canvas 프라퍼티 중에 canvas.isRootCanvas canvas.rootCanvas 위와 같은 것도 활용 할 수 있습니다. 최상위 Canvas를 찾은 다음 CanvasGroup 컴포넌트가 결합된 캔버스라면 Alpha 값이나 Interactable 같은 것으로 FadeIn FadeOu..

Unity3D 2022.12.24

[Unity] Drag and Drop | RectTransformUtility.ScreenPointToLocalPointInRectangle 사용 하기

Unity uGUI에서 image 나 button을 Drag and Drop 할 때 IBeginDragHandler, IDragHandler, IEndDragHandler 의 세가지 인터페이스를 이용 하여 쉽게 구현 가능 하다. OnBeginDrag: 마우스 버튼이 클릭 되면 우선 화면에 따라다는 오브젝트를 생성 하고 ( dragItemPrefab : 실제 옮겨질 대상이 아니고 이 것을 이용 해서 대상을 표현 하고 원래 대상은 그냥 보이는 상태로 하던지 안 보이게 하던지 하면 된다. 실제 대상을 이동 하게 하면 여러가지 생각 할 것이 많아 짐. ) OnDrag: 드래그 되고 있는 오브젝트를 마우스를 따라 다니게 하게 하면 된다. 이 때, RectTransformUtility.ScreenPointToLoc..

Unity3D 2022.12.23

Unity Shader.Find의 리턴값이 Null 일 경우 해결

Unity Shader.Find의 리턴값이 Null 일 경우 해결 ( Unity Shader.Find return NULL error ) 문제: 윈도우 Unity Editor에서는 Shader.Find를 사용 하여 원하는 쉐이더를 얻어서 머티리얼을 정상적으로 생성 할 수가 있는데 모바일에 빌드해서 올린후 실행 하면 에러: shader Value는 null이 될 수 없습니다.(Value cannot be null) string shaderName = "Unlit/Texture"; Shader shader = Shader.Find(shaderName); mr.material = new Material(shader); 위의 구문에서 Shader.Find에서 해당 쉐이더를 찾지 못 해서 null 값을 리턴 해서..

Unity3D 2022.10.14

유니티 에디터 로그 파일 위치 찾기 쉬운 방법 | Unity Editor Log File Location

유니티 에디터 로그 파일 위치 | Unity Editor Log File Location How can I find editor log file? 유니티 메뉴얼에 보면 에디터 로그 위치는 Editor %LOCALAPPDATA%\Unity\Editor\Editor.log Player %USERPROFILE%\AppData\LocalLow\CompanyName\ProductName\Player.log 으로 설명 되어 있다. 뭐 환경변수로 써놔서 이건 도대체 어디에 있는 것인지 환경변수 값을 찾아 봐야 한다. 1. Unity Editor Log 기본적으로 Editor Log는 C:\Users\유저네임\AppData\Local\Unity\Editor\Editor.log 를 보면 된다. Unity Crash가 발..

Unity3D 2022.08.22

유니티에서 모두 재설치 해도 라이센스 활성화 안 될 때 해결 방법

유니티에서 모두 재설치 해도 라이센스 활성화 안 될 때 해결 방법 기존 Unity 를 모두 삭제 하고 새로 설치 해도 계속 라이센스 활성화가 안 되고 수동으로 업로드 해서 해도 안 되고 기존 자리에서 라이센스 반납 하고 라이센스 관리 가서 추가 해도 안 되고 레지스트리하고 설치 폴더 하고 AppData\Roaming에 있는 unity란 unity는 다 지우고 설치 해도 안 됨. 유니티와 유니티 허브를 한 10번을 재설치 했는데도 라이센스 활성화 안 됨. 해결방법은 무지 간단한걸 반나절 날렸네. C:\ProgramData\Unity\ 폴더 보면 Unity_lic.ulf 파일이 있는데 이 파일을 지우고 유니티 허브 재시작 하고 라이센스 동의 후 활성화 하면 바로 됨. 끝. 프로그램 삭제 할 때 이 파일은 왜..

Unity3D 2022.07.25

C# .Net TCP/IP 비동기 네트워크 라이브러리

닷넷 C# 비동기 네트워크 라이브러리. C# 비동기 네트워크 라이브러리. 게임 서버에서 사용할 수 있는 TCP기반의 socket server. .Net Core 사용 Unity 연동 가능 (.NetFramework버전으로 바꿔서 빌드해야 연동 가능함) https://github.com/sunduk/FreeNet GitHub - sunduk/FreeNet: C# Network library. Asynchronous. TCP. GameServer. C# Network library. Asynchronous. TCP. GameServer. - GitHub - sunduk/FreeNet: C# Network library. Asynchronous. TCP. GameServer. github..

Unity3D 2022.05.30

구글 인앱 결제 구독 결제 테스트 모드로 테스트 하기

게임 내에 인앱 상품 결제나 구독 결제를 구현 하고 플레이스토어에 공개 하기 전에 핸드폰으로 결제 테스트를 해고 싶다. 앱은 구글 콘솔에서 내부테스트나 알파테스트로 해서 핸드폰에서 플레이스토어에서 다운로드 받아서 정식으로 테스트 가능 한데 이 때 등록한 테스터로 등록한 휴대폰에서도 결제를 시도 할 때는 실제 카드 결제를 시도 하려고 실제 결제 화면을 보여 준다. (실제 카드 결제) 인앱 결제 / 구독 결제 테스트 모드로 테스트 하기 구글 플레이콘솔에서 앱 쪽 설정에 가면 이 메뉴를 찾을 수 없다. 플레이콘솔 메인 페이지 (개발자 페이지 첫 화면) -> "설정" 카테고리에서 -> 라이선스 테스트 위와 같은 경로의 메뉴에서 라이선스 테스터 추가 : 테스트 하고자 하는 폰의 계정 이메일 입력 후 엔터 라이선스..

Unity3D 2022.01.10
반응형