【问题标题】:Make script in Unity to Unreal在 Unity 中制作脚本到 Unreal
【发布时间】:2021-11-18 07:56:24
【问题描述】:

我是虚幻的新手。我尝试按照教程进行 A* 寻路: https://www.youtube.com/watch?v=nhiFx28e7JY&t=1252s&ab_channel=SebastianLague

我真的不知道如何将 Unity 中制作的脚本更改为 Unreal。

UnityScript

public class Node {
    
    public bool walkable;
    public Vector3 worldPosition;
    
    public Node(bool _walkable, Vector3 _worldPos) {
        walkable = _walkable;
        worldPosition = _worldPos;
    }
}

我的虚幻脚本:

USTRUCT(BlueprintType)
struct FAS_Node
{
    GENERATED_USTRUCT_BODY()

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= "Nodes")
    FVector worldPosition;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= "Nodes")
    bool walkable;

    Node(bool _walkable, FVector _worldPos){
        walkable = _walkable;
        worldPosition = _worldPos;
    }
};

它返回错误说节点没有返回类型

【问题讨论】:

  • 好像打错了,Node 应该是FAS_Node
  • 这样做它在下面说这个错误:C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\CoreUObject\Public\UObject/Class.h(1173):错误 C2512 : 'FAS_Node::FAS_Node': 没有合适的默认构造函数可用,但如果我返回 void 它确实允许它编译
  • 在UE4中每个USTRUCT都需要一个默认构造函数,所以你需要添加一个

标签: c++ unreal-engine4


【解决方案1】:

我猜你不能在 UE4 中以这种方式创建带参数的构造函数。尝试定义一个默认构造函数。 如果您确实需要向其传递参数 - 请在此处检查 ObjectInitializer 构造函数:https://ikrima.dev/ue4guide/engine-programming/uobjects/new-uobject-allocation-flow/

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2017-01-27
    • 2016-05-01
    相关资源
    最近更新 更多