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了

相关推荐
落魄大学生之流水线上谋生计4 天前
BLACK TIDE · 黑潮
ue5
曼巴UE511 天前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
归真仙人14 天前
【UE项目迁移银河麒麟(Linux)局域网会话搜索失败排查】
ue5·ue4·vr·unreal engine·银河麒麟
fanfan_hongyun15 天前
UE5.1 应用InWebSocketClient-main 接收websocket信息
ue5
远离UE416 天前
Chaos、WFC 与 FJA 原理与区别笔记
ue5
平行云16 天前
3D应用推流太贵太慢?ImmerShare Lite:利用本地算力实现极简一键分享
unity·ue5·实时云渲染·云桌面·像素流·云游戏·串流
fanfan_hongyun17 天前
UE5.1 VaRest插件 读取json http请求
ue5
SpiderCodeJ17 天前
【UE5】- UE MCP :在UE5.8编辑器中内置链接Codex
ue5·codex·智能体·mcp
weixin_4046793121 天前
ue5 widget 之间的蓝图通讯
ue5