41,从UE5.1迁移到UE5.8排坑全记录

作为一个古法编程爱好者,决定与时俱进,用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;

OR

Declare 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"))
TObjectPtr<ACameraActor> ViewCamera;

void AMyPaperZDCharacter::BeginPlay()

{

Super::BeginPlay();

复制代码
APlayerController* playerController = Cast<APlayerController>(Controller);
ULocalPlayer* localPlayer = playerController->GetLocalPlayer();
UEnhancedInputLocalPlayerSubsystem* subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(localPlayer);
subsystem->AddMappingContext(DefaultMappingContext, 0);
FActorSpawnParameters SpawnParams;
ViewCamera = GetWorld()->SpawnActor<ACameraActor>(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了![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1470e5fd7ce54cee86c05146379100d6.png)

但是画面乱七八糟了,

这下懵逼了,是zfighting还是材质?

查看了下地图

原来是材质问题

把 Masked 改为 Translucent,ok了

相关推荐
电子云与长程纠缠11 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
fanfan_hongyun15 小时前
UE5.1 蓝图调用C++方法
ue5
易知微EasyV数据可视化16 小时前
UE5 中接入 GDAL:从vcpkg编译到插件打包
ue5
努力学习的小廉16 小时前
UE5入门系列(一):环境搭建.md
ue5
fanfan_hongyun19 小时前
【UE5.1 创建C++文件】
c++·ue5
努力学习的小廉1 天前
UE5 入门系列(二):编辑器基础操作速通
ue5·编辑器
Дерек的学习记录2 天前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5
远离UE43 天前
拉格朗日 动力学问题
ue5·图形渲染·图形学·动力学
远离UE47 天前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
七仔啊8 天前
UE5源码下载及编译
ue5