UE4 개발의 일반적인 문제: 플러그인 가져오기, 코드 디버깅, 형식 예외

1. 다른 소스코드 플러그인 가져오기 방법

1. 가져올 플러그인과 동일한 이름으로 비어 있는 새 플러그인을 생성합니다.

2. 이전 플러그인 소스 코드를 새 플러그인 소스 디렉토리에 복사합니다.

3. 이전 플러그인의 .h .cpp 파일을 vs 프로젝트에 추가합니다.

4. plugin.build.cs 코드를 수정하고 이전 플러그인에 필요한 라이브러리를 추가합니다.

2. 디버깅 방법 vs 소스 코드 플러그인

1. 먼저 UE4 프로젝트를 엽니다.

2. UE4에서 메뉴 "파일" -> VS 프로젝트 열기를 선택해야 합니다. 그렇지 않으면 VS가 디버깅 및 실행을 시작할 때 오류를 보고합니다.

3. 원래 프로젝트를 닫고 VS에서 디버깅을 시작합니다.

3. PF_R8G8B8A8에서 지원하지 않는 형식

어설션 실패: FTextureRenderTargetResource::IsSupportedFormat(InOverrideFormat) [File:D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Engine\Private\TextureRenderTarget2D.cpp] [Line: 84] 

void UTextureRenderTarget2D::InitCustomFormat( uint32 InSizeX, uint32 InSizeY, EPixelFormat InOverrideFormat, bool bInForceLinearGamma )
{
	check(InSizeX > 0 && InSizeY > 0);
	check(FTextureRenderTargetResource::IsSupportedFormat(InOverrideFormat));

	// set required size/format
	SizeX = InSizeX;
	SizeY = InSizeY;
	OverrideFormat = InOverrideFormat;
	bForceLinearGamma = bInForceLinearGamma;

	// Recreate the texture's resource.
	UpdateResource();
}

/**

 * 주어진 형식의 렌더링 대상이 허용되면 true를 반환합니다.

 * 창조를 위해

 */

bool FTextureRenderTargetResource::IsSupportedFormat( EPixelFormat 형식 )

{

    스위치( 형식 )

    {

    케이스 PF_B8G8R8A8:

    케이스 PF_A16B16G16R16:

    케이스 PF_FloatRGB:

    case PF_FloatRGBA: // 재료를 .obj/.mtl로 내보내기

    case PF_A2B10G10R10: //일반 버퍼용 픽셀 인스펙터

    case PF_DepthStencil: //깊이 및 스텐실 버퍼용 픽셀 검사기

        true를 반환합니다.

    기본:

        거짓을 반환합니다.

    }

}

4. 새 C++ 클래스를 생성한 후 UE4는 generated.h 충돌을 프롬프트하고 코드를 생성할 수 없습니다.
CompilerResultsLog: ERROR: 생성된 코드에 대한 변경은 허용되지 않습니다.

편집기 vs를 닫고 다시 엽니다. Visual Studio의 솔루션 구성이 Development Editor인지 확인하십시오.

おすすめ

転載: blog.csdn.net/a2831942318/article/details/127430373