본문 바로가기

프로그래밍/Unreal

(22)
[UE4] 이미지 파일 동적으로 로드하기 참고 : https://wiki.unrealengine.com/Asynchronous_Image_Loading_from_Disk 이미지 동적 로딩관련해서 위 위키에 잘 정리되어 있다. 동일한 내용이지만 관련 내용을 순서에 따라 정리해본다. 모듈이미지를 동적으로 불러오기 위해서는 ImageWrapper, RenderCore 모듈이 필요한데,RenderCore에는 버텍스, 텍스처, 버퍼, 렌더링 관련 기능을 제공하고, ImageWrapper는 이미지의 포맷과 raw 데이터 관련 인터페이스를 제공한다. 프로젝트의 .Build.cs 에 모듈을 추가한다. PrivateDependencyModuleNames.AddRange(new string[] { "ImageWrapper", "RenderCore"}); 관련헤더..
[UE4] 언리얼 엔진 빌드 빌드툴 설치 빌드시 언리얼 4.19 이하 버전과 vs2017을 사용하는 경우 문제가 발생한다. (4.20에서 해결될 듯...) 아래위치에 디버거툴이 필요한데, vs2017의 최신 윈도우10 sdk에서는 해당 툴이 제외되어 있다. 윈도우10 sdk 별도 다운로드. https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk iso 파일 받아서 전체는 필요없고, iso 파일내 아래 디버거툴을 설치하면 된다. .\Installers\X64_Debuggers_And_Tools-x64.en-us.msi 추가 : sdk 가 설치되어 있으면 아래와 같은 방식으로도 설치 가능 설정 > 앱 > 앱 및 기능 > Windows Software Developm..
[UE4] Dedicated Server standalone dedicated server 아주 세부적으로 위키에 정리되어 있다.https://wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_%26_Linux) 엔진 소스 빌드일반 배포 바이너리는 빌드 타겟에 제약이 있어 소스를 받아 빌드해야 한다. https://github.com/EpicGames/UnrealEngine private repository 이므로, 언리얼 사이트에서 연결 후에 접속~ 필요한 버전의 소스를 다운로드 한다.\> Setup.bat 필요요소 다운로드 하고, version-selector 에 등록(레지스트리 등록) \> GenerateProjectFiles.bat프로젝트 파일 생성 : vs2017 버전은 \> Generat..
[UE4] Using Static Library 오픈소스 static library를 내 모듈에 추가하고자 할때~ 우선 해당 오픈소스 라이브러리의 빌드구성 : 활성(Release), 플랫폼 : x64 구성속성 - 일반 Windows SDK 버전 : 8.1구성형식 : 정적 라이브러리(.lib) 구성속성 - C/C++ - 코드생성런타임 라이브러리 : 다중 스레드 DLL(/MD) 빌드한 lib 파일과 include 폴더를 ThirdParty 폴더로 복사 예를들어 my.lib 파일이라면언리얼프로젝트루트/ThirdParty/MyLib/include/언리얼프로젝트루트/ThirdParty/MyLib/bin/언리얼프로젝트루트/ThirdParty/MyLib/bin_x64/ 모듈 Build.cs 수정해당 라이브러리를 사용할 모듈의 Build.cs 파일을 수정한다.usi..
[UE4] VR 컨트롤러 IK 캐릭터 설정 Pawn 클래스에 scene component 추가후 카메라, 모션 컨트롤러 컴포넌트 등 추가 VR환경이 아니면 3인칭 템플릿 캐릭터 부모소켓에 카메라를 고정해 사용할 수 있다. HTC VIVE 와 같이 위치 트래킹이 가능한 HMD의 경우 지정된 위치에서높이만큼 변화가 생기게 되는데, 일어서서 사용하는 경우 카메라는 바닥에 위치해야 한다. 앉아서 HMD를 사용하는 경우 시작시 HMD 의 원점을 조정해 준다.아래의 경우 시야에 맞게 조정 애니메이션 플루프린트작성애니메이션의 경우 이벤트 그래프에 Blueprint Update Animation 이벤트가 주기적으로 발생되는데, 해당 루틴에서 좌우팔의 transform 정보를 저장하고, 실제 애님그래프에서 해당 값으로 본애니메이션을 처리해주면 된다...
[UE4] 관람자 화면 1. 렌더타겟 생성 2. SceneCapture2D 블루프린트 생성MeshCompDrawFrustumCaptureComponent2D 3. CaptureComponent2D 의 Texture Target 에 렌더타겟 설정 4. 관람자 화면설정 : 렌더타겟, 모드 설정 5. 캐릭터 화면을 그대로 관람자 화면으로 보내고자 할 경우캐릭터 카메라에 Child Actor Component 추가하고, 액터 클래스를 2번에서 생성한 SceneCapture2D 로 설정
[UE4] 동적 텍스처 Dynamic Material Instance매터리얼 및 텍스처 파라미터 만들기 : TextureSampleParameter2D해당 머터리얼의 인스턴스 생성. Construction Scriptstatic mesh 를 가져와 해당 메시의 매터리얼을 동적 매터리얼 인스턴스를 생성 Dynamic Material 에 설정한 파라미터 변경 파일에서 텍스처 만들기 : 참조 Rama's Victory plugin - https://wiki.unrealengine.com/File:VictoryPlugin.zip#include UTexture2D* Sample::Test( const FString& FullPath, int32& Width, int32& Height) {UTexture2D* LoadedTexture2D..
[UE4] 디버그 로그 출력 참고 : https://wiki.unrealengine.com/Logs,_Printing_Messages_To_Yourself_During_Runtime#Related_Tutorial 로그표시 콘솔> showlog 기본 카테고리 로그카테고리명 : LogTempUE_LOG(LogTemp, Warning, TEXT("message")); Verbosity LevelsFatalErrorWarningDisplayLogVerboseVeryVerbose CompileTimeVerbosityLevelsNoLogging : FatalAll : VeryVerbose 별도 카테고리 정의(.h)DECLARE_LOG_CATEGORY_EXTERN( CategoryName, VerbosityLevel, CompileTimeVer..