
프라이빗 섹션에 변수 등을 선언하고 블루프린트에서 접근하고 싶을 경우에는 BlueprintRead/ReadWrite와 관련된 매크로를 사용해야 한다. 하지만 프라이빗 섹션에서는 그런 매크로 사용이 불가능하고 이런 오류를 뱉어낸다. protected나 public 섹션으로 옮기면 해결 되지만 굳이 private으로 사용하고 싶다면 meta = (AllowPrivateAccess = "true")를 추가해주면 된다.

강의에서 나오는 그룸컴포넌트를 사용하려고 헤더파일을 추가했는데 이런 에러가 떴다. fatal error C1083: Cannot open include file: 'NiagaraDataInterfacePhysicsAsset.h': No such file or directory 나이아가라 헤더파일을 찾을 수 없다는데, 우선 해당 프로젝트를 빌드하는 C# 파일에서 Niagara 모듈을 추가해주고 빌드해준다. 그래도 에러가 사라지진 않았다. \Epic Games\UE_5.1\Engine\Plugins\Runtime\HairStrands 로 이동 HairStrands.uplugin 파일을 편집 "EnabledByDefault": false 를 true로 바꿔준다. 그래도 해결되지 않을 시에는 이렇게 하라고 한다.

언리얼엔진 5를 공부하고 있던 도중 빌드를 하였는데 인텔리센스가 작동을 하지 않고 "C++ 파일 소스을(를) 열 수 없습니다. UBT_COMPILED_PLATFORM/UBT_COMPILED_PLATFORMCriticalSection.h" 라는 에러가 발생했다. 해결 방법은 해당 VS 프로젝트 파일을 다시 생성해주는 것이다. 우선 해당 프로젝트가 있는 폴더로 들어가서 Binaries, Intermediate, Saved 세 폴더를 삭제해주고 프로젝트명.uproject 를 우클릭을 하고 Generate Visual Studio project files를 눌러주고 프로젝트명.uproject를 다시 실행해주면 세개의 파일이 모두 돌아오게 된다. 그 후 다시 실행하면 빌드와 컴파일, 인텔리센스가 정상적으로 작동하..

C++로 컴포넌트를 추가하고 VisibleAnywhere 매크로를 사용해도 아무것도 보이지 않을때가 종종 생긴다... 그럴때에는 해당 컴포넌트의 변수의 이름을 바꿔준 후 다시 컴파일하면 된다! // Pawn.h 수정 전 { . . UPROPERTY(VisibleAnywhere) USpringArmComponent* SpringArm; . . } // Pawn.h 수정 후 { . . UPROPERTY(VisibleAnywhere) USpringArmComponent* MySpringArm; . . } // Pawn.cpp 수정 전 { . . SpringArm = CreateDefaultSubobject(TEXT("SpringArm")); SpringArm->SetupAttachment(RootCompone..

언리얼엔진에는 C++ 코드의 변수를 에디터에서 관찰, 수정할 수 있는 UPROPERY 매크로가 존재한다. UPROPERY()는 Specifier를 필요로 한다. Specifier를 정리해보았다. 추후 추가 예정

랜드스케이프 모드로 땅을 꾸미고 있는데 잘 나오던 땅의 텍스쳐가 회색의 격자무늬로 바뀌어있었다. 결국 해당 땅을 삭제한 후 다시 생성해 색칠했지만 나중에 해결방법을 알 수 있었다. 페인트 텍스쳐를 저장하는 머티리얼에 들어가 모든 텍스쳐들의 샘플러 소스를 Shared:Wrap으로 설정해준 후 저장하면 해결된다.

폴리지를 적용하다보면 식물이 경사진 방향으로 자라는 것을 볼 수 있다. 하지만 실제 나무는 그렇지 않다. 이런 괴리감을 없애기 위해서는 Static Foliage Mesh에서 설정을 만져주어야 한다. 적용을 원하는 스태틱 메시 폴리지를 더블 클릭하고 Align to Normal (노멀에 정렬) 체크박스를 False로 바꾸면 (체크 해제!) 위를 향해서 나무가 자라게 된다. (맨 뒤 나무와의 차이가 보이시나요?)