일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- STL
- CS50
- Unreal
- Toon Shading
- 헤더 경로
- Console
- 원카페#무인카페#카페추천#카페맛집
- c++ 베이직
- build.cs
- C++
- 메테리얼
- 순환 리스트
- 네트워크 기초
- Module
- 툰쉐이딩
- CS
- Harvard
- 언리얼
- leetcode
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- A* Algorithm
- UE_5
- Gas
- 코드리뷰
- topdownmove
- 백준
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- 폭설 #미친 날씨
- 브론즈
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- Today
- Total
목록Module (9)
WN_인생기록

1인칭 카메라와 3인칭 카메라의 전환 기능을 중점적으로 개발하려다 캐릭터 세팅의 기본까지 원할하게 할 수 있도록 제작했다. Enhanced Input의 IMC와 IA의 세팅이 기본적으로 되어 있고, 걷기, 뛰기 설정이 가능하다. OnViewMode 의 키인 "2" 를 누르면 시점 변경이 가능하다. 카메라는 Mesh에 붙은 FP 카메라와 Capsule Component에 있는 SpringArm에 붙은 TP 카메라가 있고, FP는 Skeletal mesh의 head 소켓에 부착했다. 또한 키 바인딩 및 Speed 까지 조절이 가능하다. 프로토 타입을 위한 캐릭터 생성이나, 확장성을 고려한 캐릭터 모듈이다.

에셋들의 Rename 기능을 이용해서, Asset의 prefix를 수정해주는 모듈을 제작했다. 나이아가라, 데이터 테이블, IKRig, LevelSequence 등등 많은 에셋들의 Prefix를 약자로 줄였다. predefault 기능과 event run 이라는 기능으로 에디터(플러그인을 설치하고)가 켜지면 자동적으로 실행된다. 우측 버튼으로 메뉴버튼에 Scripted Assedt Action 이라는 곳을 누르면 Change prefix 라는 기능이 있다. 이를 통해 에셋들을 편하게 관리할 수 있다. 또한 template 기능을 써서 Print를 좀 더 간단하게 쓸 수 있도록 수정했다. templatestatic void Print(const T& Message, const FColor& Col..

저번에 만들었던 Custom 메뉴 Extension 에서 이번에는 Custom Tab을 새로 열어볼 예정이다. ContentBrowser에서 특정 메뉴 Extension을 통해서 새로운 Tab을 열려면 void FSuperManagerModule::RegisterAdvanceDeletionTab() { //Tab 매니저를 호출해서 새로운 탭을 등록하고 FGlobalTabmanager::Get()->RegisterNomadTabSpawner(FName("AdvanceDeletion"), // 마찬가지로 델리게이트를 통해서 연결을 시킨다. FOnSpawnTab::CreateRaw(this, &FSuperManagerModule::OnSpawnAdvanceDeletionTab)).SetDisplayName(F..

엔진을 쓰다보면 Custom하는 경우가 생기기 마련이다. 이걸 플러그인으로 만들 수 있는데, 먼저 플러그인 처음으로 생성하면 IModuleInterface 를 상속받는 헤더가 있다. 여기에 추가적인 함수들을 추가해주고, 델리게이트로 연결해줘야 한다. (#include "Modules/ModuleManager.h") 를 추가해줘야 한다. private: void InitMenuExtention(); TSharedRef CustomMenuExtender(const TArray& Path); void AddMenuEntry(class FMenuBuilder& Menu); void OnDeleteUnUsedAssetButtonClicked(); 그 다음 cpp 파일에서 ContentBrowserModule.h ..
Editor Utility BP를 만들고 하나 불편했던게 바로 처음 에디터를 열자마자 실행이 안된다는 것이었다. 아무래도 모듈이라던가 헤더추가하면 Intermidiate 지우고 다시 실행해야 될때가 있어서 자주 하는데 에디터 끄고 켤때마다 켜야하는게 불편했다. 그래서 에디터 켜자마자 Editor Utility BP를 바로 실행하는 방법을 찾고 싶었다. https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/ScriptingAndAutomation/Blueprints/StartupObjects/ Running Blueprints at Editor Startup Describes how to define Blueprint functions that the..

만약에 특정 기능에서 잘못된 입력이라던가 잘못된 결과가 나올시에 언리얼에서는 메세지 다이얼로그가 뜨는데, 이걸 띄우는걸 해보자. https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Misc/FMessageDialog/ FMessageDialog [FMessageDialog](API\Runtime\Core\Misc\FMessageDialog) These functions open a message dialog and display the specified informations these. docs.unrealengine.com 언리얼 문서는 이걸 통해서 확인이 가능하다. if (NumOfDuplicates
라이브러리 중에는 스크립팅 라이브러리가 존재한다. UEditorUtilityLibrary와 UEditorAssetLibrary가 있는데 UEditorUtilityLibrary에는 UObject를 선택하는 것과 FAssetData를 선택하는 기능이 있고 (TArray의 포인터로 데이터 저장) UEditorAssetLibrary의 경우는 에셋의 리스트를 가져오는 기능을 하는거 같다. Editor에 새로운 모듈 추가할때 자꾸 파일헤더를 못찾는데 왜그런지 모르겠다. 모듈에 추가하고 빌드했으면 헤더 찾아야 하는거 아닌가... Intermidiate 때문에 그냥 파일 다 지우고 다시 빌드하는게 맞는지... 싶은데.. 맞다... 결국엔 파일 지우고 다시 빌드하는게 맞다 ㅋㅋ 후... 암튼 이제 파일을 복사하는 기능을..

먼저 툴에 적용할 수 있는 모듈을 만들어 볼 예정인데, Custom Editor Functionalities 는 Assets에 뭔가의 Action을 할 수 있는 것과 Actors에 뭔가를 Action할 수 있는 걸로 나눠진다. Assests ->Action은 AssetActionUtility라는 클래스고 Actors->Action은 ActorActionUtility라는 클래스 이다. 그래서 C++ 코드에서 Asset을 먼저 건드릴 수 있는 툴을 만들기 위해 UFUNCTION(CallInEditor)라는 기능을 통해서 구현해볼 생각이다. 문제는 AssetActionUtility.h 라는걸 추가할려면 현재 나의모듈 빌드cs에 Blutility라는 모듈을 넣어야 하는데 넣고나서도 안되가지고 문제가 있었다. 찾..