
作为一个古法编程爱好者决定与时俱进用AI进行UE5的那个肉鸽毕竟不是研究只是工程甚至小demo那就流水线吧把主要精力用在有深度的知识的研究上看到大家说AI只能用5.8版本好吧那就开干。原以为移植很简单转成5.8,generate后.sln很快出来原以为不过如此。结果出现一个错误不知所云。双击RoughLike1.uproject直接弹出对话框显示错误内容The last build used an outdated BuildSettingsVersion, or the target still requires upgrading.Please upgrade RoughLike1Editor.Target.cs:Update the build settings version (Installed Engine Build Source Build):DefaultBuildSettings BuildSettingsVersion.V7;ORDeclare a unique build environment (Source Build only):BuildEnvironment TargetBuildEnvironment.Unique;If you have already updated the target, would you like to rebuild open the project?那就把这两个.target.cs改为DefaultBuildSettings BuildSettingsVersion.V7;不过是配置问题应该的。现在应该可以了吧结果只有血量条玩家呢按下~双击bp_player0发现能看到说明paperzd插件没问题。不放心又查了下插件果然没问题。那就可能是摄像机的问题。比如说osg中camera可以addchild()不同的物体谁说要加载场景中所有的物体呢那么类推UE应该也类似那camera有问题添个灯光和几个圆锥体试试果然运行后也看不到了虱子多了不痒一个个解决吧先改下花屏问题改成DX11既然摄像机有问题那就试试cameraActor拖拽到场景果然能看到那就用CameraActor替代弹簧臂和摄像机组件。UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category Camera, meta (AllowPrivateAccess true)) TObjectPtrACameraActor ViewCamera;void AMyPaperZDCharacter::BeginPlay(){Super::BeginPlay();APlayerController* playerController CastAPlayerController(Controller); ULocalPlayer* localPlayer playerController-GetLocalPlayer(); UEnhancedInputLocalPlayerSubsystem* subsystem ULocalPlayer::GetSubsystemUEnhancedInputLocalPlayerSubsystem(localPlayer); subsystem-AddMappingContext(DefaultMappingContext, 0); FActorSpawnParameters SpawnParams; ViewCamera GetWorld()-SpawnActorACameraActor(FVector::ZeroVector, FRotator::ZeroRotator, SpawnParams); if (ViewCamera) { ViewCamera-GetCameraComponent()-SetProjectionMode(ECameraProjectionMode::Orthographic); ViewCamera-GetCameraComponent()-SetAspectRatio(0.0f); ViewCamera-GetCameraComponent()-SetConstraintAspectRatio(false); ViewCamera-GetCameraComponent()-SetOrthoWidth(2048); ViewCamera-AttachToActor(this, FAttachmentTransformRules::KeepRelativeTransform); ViewCamera-SetActorRelativeLocation(FVector(0, 0, 1000)); FVector2D ViewportSize; GEngine-GameViewport-GetViewportSize(ViewportSize); if (ViewportSize.Y 0) { float TargetOrthoHeight 1152.0f; // 你希望在纵向上看到的像素高度自行微调 float NewOrthoWidth TargetOrthoHeight * (ViewportSize.X / ViewportSize.Y); ViewCamera-GetCameraComponent()-SetOrthoWidth(NewOrthoWidth); } // 【重点】蓝图 X/Y/Z → 转成 C 旋转 // 蓝图 X Roll // 蓝图 Y Pitch // 蓝图 Z Yaw // C FRotator( Pitch, Yaw, Roll ) // 所以 → FRotator( 蓝图Y, 蓝图Z, 蓝图X ) double roll 0; double pitch -90.0; double yaw -90.0; ViewCamera-SetActorRelativeRotation(FRotator(pitch, yaw, roll)); playerController-SetViewTarget(ViewCamera); } 摄像机果然OK了但是画面乱七八糟了这下懵逼了是zfighting还是材质查看了下地图原来是材质问题把 Masked 改为 Translucentok了