본문 바로가기
반응형

Unreal176

Unreal C++ 언리얼 에셋 불러오기 [Unreal/C++] 언리얼 에셋 불러오기 언리얼에서 에셋을 가져오는 경우가 수도 없이 많다.게임 시작 전에 미리 불러와 사용하는 경우도 있고 게임 중간에 동적으로 불러오는 일도 많다. 이 글에서는 상황에 따른 에셋 참조 방법을 설명한다.1. 언리얼에서의 에셋 경로 분석2. 생성자에서 ConstructorHelpers의 FObjectFinder를 이용한 방법3. 게임 중간에 생성자가 아닌 곳에서 동적으로 불러오는 방법4. 블루프린트 클래스를 가져오는 방법  언리얼에서의 에셋 경로 분석다양한 경로들Material'/Game/StarterContent/Materials/M_Ground_Grass.M_Ground_Grass'ParticleSystem'/Game/StarterContent/Particles/P.. 2023. 10. 28.
Unreal 에디터에서 C++ 소스 코드 안보임 [Unreal] 에디터에서 C++ 소스 코드 안보임 C++ 코드를 생성했음에도 에디터에서 보이지 않는 경우에디터에서는 보이지 않지만 Visual Studio나 다른 개발 도구에서 보이는 경우  UObject를 상속받았는지 확인한다.에디터에 C++ 클래스가 보이는 것은 UObject를 상속 받는 경우에만 에디터에 보인다. 2023. 10. 26.
Unreal 언리얼 엔진 소스 코드 확인하기 [Unreal] 언리얼 엔진 소스 코드 확인하기언리얼 엔진의 소스(UE4, UE5)는 솔루션의 프로젝트에서 확인이 가능하다.  프로젝트의 솔루션 파일 내에서 확인하기.    에디터 내에서 엔진의 소스 코드 확인하기   Engine이 설치 되어 있는 폴더에서 확인하기Engine의 설치 경로-> Engine -> SourceEx) 예를 들어 자주 쓰는 FVector의 경우 아래 경로에 있다. Engine->Source->Runtime->Core->Public->Math->Vector.h엔진의 소스를 바꾸고 싶은 경우 타고 들어가서 바꿀 수는 있지만 여기서 직접 커스터마이징 하지는 않고 실제로는 깃헙에서 언리얼 엔진 소스를 받아서 쓴다. 게임에 관련된 소스들은 대부분 Runtime에 구현되어 있다. 2023. 10. 26.
Unreal C++ 수정 후 언리얼 에디터 실행 안됨 [Unreal] C++ 수정 후 언리얼 에디터 실행 안됨 지속적으로 프로젝트를 재설정 하거나 리빌드를 해도 실행이 안될 경우C++파일 내에 오류가 있는지 없는지 확인해볼 필요가 있다. 실행이 안될경우 로그를 확인 후에 알맞는 조치를 취해줘야한다. 로그를 확인하는 방법은 프로젝트 폴더 내에 Saved 폴더를 참조하면 된다.경로 : {ProjectPath}/Saved/Logs/{ProjectName}.text 보통 로그파일을 확인하면 위와 같이 여러 정보가 나온다.에디터가 실행 안되는 경우 로그 파일 가장 아래쪽을 확인하다보면익숙한 에러 메시지가 보일 것이다.에디터를 실행하지 않은채 .sln 솔루션 파일을 열어 로그에 맞는 부분을 수정 후에 재실행 하면 해결된다. 2023. 10. 26.
Unreal 권장하는 에셋 명명 규칙 [Unreal] 권장하는 에셋 명명 규칙 언리얼 엔진(UE) 으로 프로젝트를 진행하다 보면 콘텐츠 브라우저(Content Browser) 의 에셋 목록이 점차 늘어나기 마련이다. 그러면 조정 중인 에셋의 베리에이션을 불필요하게 늘리거나, 지나치게 비슷한 에셋 이름 때문에 혼동할 우려가 있다.따라서 대규모 프로젝트를 진행하려면 개발 초기에 개별 에셋에 대한 공통의 명명 규칙을 정하는 것이 좋다. 그래야 개발팀이 더 쉽게 파일을 찾을 수 있고, 상충이 일어나거나 헷갈릴 일이 예방된다. 에셋접두사일반 HDRIHDR_머티리얼M_머티리얼 인스턴스MI_피직스 에셋PHYS_피직스 머티리얼PM_포스트 프로세스 머티리얼PPM_스켈레탈 메시SK_스태틱 메시SM_텍스처T_OCIO 프로파일OCIO_블루프린트 액터 컴포넌트AC.. 2023. 10. 25.
Unreal UPROPERTY 종류 [Unreal] UPROPERTY 종류프로퍼티지정자효과AdvancedDisplay이 프로퍼티는 디테일 패널의 고급 (드롭다운) 섹션에 들어갑니다.AssetRegistrySearchableAssetRegistrySearchable (애셋 레지스트리 검색가능) 지정자는 이 프로퍼티와 그 값이, 이것을 멤버 변수로 포함하는 클래스 인스턴스에 대한 애셋 레지스트리에 자동 추가됨을 나타냅니다. 구조체 프로퍼티나 파라미터에 사용하는 것은 적법하지 않습니다.BlueprintAssignable멀티캐스트 델리게이트하고만 사용할 수 있습니다. 프로퍼티를 블루프린트에서 할당할 수 있도록 노출시킵니다.BlueprintAuthorityOnly이 프로퍼티는 멀티캐스트 델리게이트여야 합니다. 블루프린트에서, BlueprintAut.. 2023. 10. 25.
Unreal C++ 코딩 표준 지침 [Unreal/C++] 코딩 표준 지침 이 글은 언리얼 엔진 문서 기반으로 작성되었습니다. 코딩 표준언리얼 엔진 4 코드베이스에 에픽게임스가 사용하는 표준과 규칙입니다.docs.unrealengine.com  코딩 규칙의 중요성소프트웨어가 수명을 지속하는 동안 들어가는 경비의 80%는 유지 보수비이다.원저자(초기 개발자)가 소프트웨어의 수명이 다할 때까지 관리하는 일은 거의 없다.코딩 규칙을 따랐을 경우 한층 읽기 쉽도록 해주므로, 보다 빨리 그리고 철저하게 이해할 수 있다. 이에 따라 작성하는 사람 보다 읽는 사람을 염두에 두고 체계를 잡아야 한다.읽는 사람 대부분은 클래스의 공용 인터페이스를 사용하기 때문에,- 읽기 쉬운 public을 상단에 선언하고 private를 하단에 작성한다.  작명 규칙각 .. 2023. 10. 25.
Unreal C++ 컴포넌트 추가하기 [Unreal/C++] 컴포넌트 추가하기 C++ 에서 컴포넌트를 추가해 사용할 일이 많다.예를들어 블루프린트에서는 Root 컴포넌트를 기본적으로 제공해주지만C++로 작성된 코드의 경우 Actor를 상속받는다 해도 Static Mesh 컴포넌트는 추가되지 않는다. 예시로 StaticMeshComponent를 추가해 보도록 한다. 1. Actor를 상속받는 C++ 클래스 만들기2. 필요한 컴포넌트의 헤더를 추가하기3. 컴포넌트 정의하기4. 컴포넌트 생성하기5. 확인하기  1. Actor를 상속받는 C++ 클래스 만들기- C++ 클래스를 생성할 때에는 접두사로 C를 붙여 생성한다.- C02_Spawn Actor라는 클래스를 만들었다.2. 필요한 컴포넌트 헤더 추가- 여기서는 StaticMeshComponent.. 2023. 10. 24.
Unreal C++ 헤더 포함 Header Include [Unreal/C++] 헤더 포함 Header Include 언리얼 엔진에서의 프로그래밍은 C++ 기반으로 구성되어 있기 때문에다른 헤더 파일에 정의된 C++ 클래스나 기능을 사용하기 위해서는 헤더 파일을 포함하는 전처리가 필수적이다.일반적인 C++ 프로젝트에서는 헤더가 꼬이거나 중복 호출 되는 경우만 조심하면 되지만언리얼에서는 헤도 포함시 위치가 중요하다. generated.h 아래에 헤더를 포함시킬 경우 아래와 같은 에러가 발생한다. #include found after .generated.h file - the .generated.h file should always be the last #include in a header.generated.h 파일 뒤에 #include가 있습니다..generat.. 2023. 10. 24.
Unreal C++, 라이브 코딩 컴파일 [Unreal] C++, 라이브 코딩 컴파일 라이브 코딩 컴파일 방법단축키 Ctrl + Alt + F11개인적으로 라이브 코딩을 선호하지 않는다.라이브 코딩을 사용하지 않고 Visual Studio에서 컴파일 하는 편이 좋다.-> 빠르고 오류도 적다. 라이브 코딩 비활성화 방법상단 메뉴바에서 편집 -> 에디터 개인설정 -> 라이브 코딩 -> 라이브 코딩 활성화 체크 해제라이브 코딩 비활성화 방법 (간편)우측 하단에 컴파일 옵션 메뉴를 열고 라이브 코딩 활성화를 체크 해제 한다. 비활성화 후 Visual Studio에서 솔루션 빌드를 하면 짤랑거리는 소리가 나며 컴파일이 완료된다.   라이브 코딩이 활성화 되어 있는 경우Visual Studio에서 컴파일을 시도하면Unable to delete hot-re.. 2023. 10. 23.
Unreal C++ 클래스 폴더&파일 생성, 삭제, [Unreal/C++] 클래스 폴더&파일 생성, 삭제,  생성폴더는 클래스를 생성하면서 만들거나파일탐색기에서 미리 생성해 둔 후 클래스 파일을 만들 때 경로를 지정해 준다.클래스 폴더는 콘텐츠 브라우저 내에서 생성이 안된다.* 빈 폴더는 언리얼 에디터 (콘텐츠 브라우저)에 표시되지 않는다.  삭제콘텐츠 브라우저에서 삭제 불가1. 엔진 에디터 종료2. Visual Studio 내에서 제거 삭제3. 파일 탐색기에서 삭제4. Visual Studio 빌드->솔루션 빌드5. 엔진 실행   이동1. 엔진 종료2. 파일 탐색기에서 파일 정리3. 프로젝트 폴더에서 솔루션 파일(.sln) 삭제4. ProjectName.uproject 우클릭 후 Generate Visual Studio project file 실행5. .. 2023. 10. 22.
Unreal Error C1083 포함 파일을 열 수 없습니다. [Unreal/Error] C1083 포함 파일을 열 수 없습니다. 초기에 C++ 클래스 파일 생성 후 나타나는 에러 중 하나프로젝트에서 해당 경로를 찾지 못해 나타나는 증상클래스 폴더 경로를 지정해 주면 된다. unreal 폴더 생성Missing {ProjectName} ModulesThe following modules are missing or built with a different engine version: {ProjectName}Would you like to rebuild them now? Error{ProjectName} could not be compiled. Try rebuilding from source manually. 프로젝트 폴더 내에 있는 {ProjectName}.Build... 2023. 10. 22.
반응형