
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로 바꾸면 (체크 해제!) 위를 향해서 나무가 자라게 된다. (맨 뒤 나무와의 차이가 보이시나요?)
언리얼 엔진에서 변수를 선언하고 에디터 디테일 패널에서 보려면 UPROPERTY()라는 매크로를 사용 해야한다. 유니티에서는 public으로 선언하게 되면 자동으로 디테일 패널에 나타났지만, 언리얼은 그렇지 않다고 한다. 해당 오브젝트의 헤더파일에서 변수를 선언해주고 그 위에 UPROPERTY 매크로를 붙이면 되는데, 여기에는 매개변수가 들어간다. UCLASS() class PROJECTCPP_API AWhereIsMyActor : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties AWhereIsMyActor(); UPROPERTY(EditAnywhere, BlueprintReadWrite,..

어떤 액터에 중력과 피직스 시뮬레이터를 적용하려고 할 경우 "바디가 피직스 시뮬레이션을 하도록 설정되어 있으나 활성화된 콜리전이 호환되지 않습니다." (Set to simulate physics but Collision Enabled is incompatible) 라는 오류가 뜬다. 해당 블루프린트로 들어가서 디테일 패널에서 collision enable을 검색한 후 여기 있는 콜리전 프리셋을 Custom - Physics를 포함하는 옵션으로 바꿔주면 된다. 잘못된 정보, 추가할 정보가 있다면 댓글로 지적 부탁드립니다.