[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면...
Unity/TroubleShooting 2023. 11. 13. 22:54[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면...

🚩개요 회사 프로젝트에서 특정 씬을 갔다오면 Input.GetMouseButtonDown() Input.GetMouseButton() Input.GetMouseButtonUp() 3총사가 안먹혔다. 찾고보니 골때리는 해결법이라서 기록해둔다. 🔥본문 결론부터 말하자면 원인은 LeanTouch라는 에셋이었다. 이 에셋의 LeanTouch 컴포넌트를 보면 Disable Mouse Emulation 이라는 bool 변수가 있다. 이 변수가 어떤짓을 해버리냐면... 바로 Input.simulateMouseWithTouches 를 false로 만들어버린다...!! 저게 false가 돼버리면 터치 입력을 마우스 입력으로 받아들이질 않는다. (기본값은 당연히 true) 심지어 LeanTouch는 기본값으로 Input...

UE5/이득우의 언리얼 프로그래밍 공부 노트 2023. 11. 12. 18:03[Part1] 7.언리얼C++ 설계(1)-인터페이스

언리얼 C++ 인터페이스 인터페이스란? 객체가 반드시 구현해야 할 행동을 지정하는데 활용되는 타입 다형성(Polymorphism)의 구현, 의존성이 분리(Decouple)된 설계에 유용하게 활용. 언리얼 엔진에서 게임 콘텐으를 구성하는 오브젝트의 설계 예시 월드에 배치되는 모든 오브젝트. 안 움직이는 오브젝트를 포함(Actor) 움직이는 오브젝트(Pawn) 길찾기 시스템을 반드시 사용하면서 움직이는 오브젝트 ⇒ (INavAgentInterface 인터페이스를 구현한 Pawn) 예제를 위한 클래스 다이어그램 수업에 참여하는 사람과 참여하지 않는 사람의 구분 수업에 반드시 참여해야 하는 학교 구성원: 학생, 선생 수업에 참여하지 않는 학교 구성원: 교직원 수업 행동에 관련된 인터페이스: ILessonInte..

UE5/이득우의 언리얼 프로그래밍 공부 노트 2023. 11. 12. 16:59[Part1] 6.언리얼 오브젝트 리플렉션 시스템 2

실습 예제를 위한 클래스 다이어그램 지난 프로젝트에 이어서 예제 구현 어떤 학교에서 학생과 교수가 함께 수업하는 상황의 구현 학교 정보는 GameInstance에서 지정 UObject를 상속받는 3개의 클래스 인물 클래스 Person 학생 클래스 Student 선생 클래스 Teacher 언리얼 오브젝트의 속성과 함수 클래스에 설정할 프로퍼티 정보 Person에는 DoLesson이라는 가상 함수가 있음. Student의 DoLesson은 수업을 듣는 행동 Teacher의 DoLesson은 수업을 가르치는 행동 1. `.generated.h` 헤더 `#Include`는 제일 밑에 있어야한다. (그렇지 않으면 컴파일 시 에러) 2. `TEXT()`의 포맷으로 `FString`을 넘길때는 앞에 `*(포인터)`를..

[WinForm] 픽셀 이동 툴 개발
기타 개발 관련/윈폼 2023. 11. 10. 00:31[WinForm] 픽셀 이동 툴 개발

🚩개요 회사에서 만드는 픽셀 게임 프로젝트가 있다. 게임에 쓰이는 리소스를 외주를 맡겨서 추가로 받았는데, 받고 보니 이미지의 픽셀위치를 좀 이동시켜야했다. 한두장이면 이미지 툴에서 작업하겠지만 양이 상당했기때문에 코드로 한번에 옮겨버리는게 낫지않을까 싶어서 작업하게됐다. 처음에는 대충 Unity로 개발할까 싶었지만 C#의 이미지 관련 API를 쓸려면 프레임워크를 Unity프로젝트에 받아야해서 번거롭고 굳이 무거운 Unity 프로젝트를 새로 만들바에야 그냥 윈폼으로 작업했다. 🔥본문 결과물을 먼저 보자면 이렇다. 📝기능 설명 1.이미지 불러오기 파일 선택 창이 열리며 이미지 파일을 다중으로 불러올 수 있다. 2.불러온 이미지 리스트 이미지를 불러오면 경로와 함께 작은 미리보기 이미지를 붙여뒀다. 3.이미..

[Part1] 5.언리얼 오브젝트 리플렉션 시스템 1
UE5/이득우의 언리얼 프로그래밍 공부 노트 2023. 11. 5. 18:19[Part1] 5.언리얼 오브젝트 리플렉션 시스템 1

언리얼 오브젝트의 특징 언리얼 오브젝트의 리플렉션 시스템 🔗언리얼 리플렉션 시스템 리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능. C++ 는 어떠한 형태의 리플렉션도 지원하지 않는다. 언리얼에서는 자체 리플렉션 시스템을 구축 함. UENUM(), UCLASS(), USTRUCT(), UFUNCTION(), UPROPERTY()매크로를 클래스에 달아주면 작동 UPROPERTY()매크로를 붙이지 않은 멤버 변수는 언리얼 엔진의 자동 메모리 관리(GC)에 포함되지 않는다. 따라서 개발자가 직접 메모리 관리를 해줘야한다. 언리얼 오브젝트의 구성 언리얼 오브젝트에는 특별한 프로퍼티와 함수를 지정할 수 있음. 관리되는 클래스 멤벼 변수: UPROPERTY() 관리되는 클레스 멤버 ..

[Part1] 4.언리얼 오브젝트 기초
UE5/이득우의 언리얼 프로그래밍 공부 노트 2023. 11. 4. 12:45[Part1] 4.언리얼 오브젝트 기초

언리얼 오브젝트 소개 게임 프로그래밍의 특수성 사용자: 쾌적한 경험을 위해 단일 컴퓨터에서 최대 성능을 뽑아 내야 한다. 개발자: 게임의 규모가 커질수록 방대하고 복잡한 기능을 안정적으로 관리해야 한다. 하이레벨 OOP언어: Java, C# 등 C++ 언어의 단점 1970년대에 개발된 C++ 언어 객체 지향 프로그래밍의 선두 주자 지속적으로 개선해왔지만, 익혀야 할 내용이 많아 초급자가 학습하기 어려움 하드웨어에 직접 접근하기 때문에, 잘못 사용하면 프로그램에 큰 영향을 미침 1990년 중반이후 C++의 단점을 보완한 후발 언어의 등장(Java, C#) C++의 불필요한 기능을 걷어내고, 최대한 명확하고, 간결하게 설계 성능보다 안정성과 생산성을 중요시 하드웨어에 직접 접근하지 않고, 가상 머신을 통해 ..

image