checkf(!InTemplate || InTemplate->IsA(InClass) || (InFlags & RF_ClassDefaultObject), TEXT("StaticConstructObject %s is not an instance of class %s and it is not a CDO."), *GetFullNameSafe(InTemplate), *GetFullNameSafe(InClass)); // template must be an instance of the class we ...
值得注意的是,OuterPrivate一般是一个UPackage*对象,在UObjectBase::DeferredRegister()函数里面将OuterPrivate设置为一个UPackage*对象。但也可以是一个普通的UObject*对象,也就是我们通过调用NewObject<>()函数传入的Outer。通过OuterPrivate的不断指向来组成一棵从属树。 每一个对象的Outer对象也拥有Outer对象,但是...
在该方法中通过NewObject的方式创建一个新对象,读取传入参数并为其相应赋值。 // 声明UFUNCTION(BlueprintCallable,meta=(BlueprintInternalUseOnly="True")staticUWidgetAnimAsyncNode*WidgetAnimationPlaying(// Params ...); // 实现UWidgetAnimAsyncNode*UWidgetAnimAsyncNode::WidgetAnimationPlaying(UUserWidget*InWid...
UMyClass* MyInstance = NewObject<UMyClass>(nullptr); 做完后再调用UPackage::Save()方法。这是一个静态方法,第一个参数是刚才创建的Package,第二个参数就是要被序列化保存下来的对象,第四个参数是要保存的路径,所以最后代码就大概是这样: UPackage::SavePackage(MyPkg, MyInstance, EObjectFlags::RF_Public|...
StaticAllocateObject分配了内存空间Result,然后以此为参数(当然还有其它的参数)构造了一个FObjectInitializer X,其中X.GetObj返回的就是这个内存地址Result; 接着用【 new(Result) TClass(X) 】来构造对象,指明地址在Result上,并将X做为参数传给其构造函数。
序列化到磁盘之后,UE4是将序列化的「二进制」数据以.uasset后缀的文件保存起来。使用LoadObject可以重新将uasset文件反序列化成UObject。 所以目前来看,UE4这套序列化是完全够用的。 就用它了! 1.2 开干!(与遇到的问题) 序列化尝试 搜索互联网可得此文《UE4 – Save a texture as a new asset》。
创建UE4中所有的类都继承于UObject,对UObject不使⽤new来直接创建,⽽使⽤UE4提供的⼯⼚⽅法NewObject()来创建:UMyObject* MyObject = NewObject<UMyObject>(this);NewObject()有多种重载⽅法,其中⼀个关键的参数为Outer*,表⽰这个对象的外部对象,通常可传this指针进去。构造函数中创建 使...
【UE4C++】UObject创建、销毁、内存管理UObject 的创建 NewObject 模板类 本例使⽤ UE 4.26,只剩下 NewObject ⽤来创建 UObject,提供两个带不同可选参数构造函数的模板类 Outer 表⽰这个对象的外部对象,通常可传 this 指针进去 Name 为对象名,如果没有⾃定义,默认⽣成,⾃带 GetName() ⽅...
UMyObject* MyObject = NewObject<UMyObject>(this); 1. NewObject()有多种重载方法,其中一个关键的参数为Outer*,表示这个对象的外部对象,通常可传this指针进去。 构造函数中创建 使用CreateDefaultSubobject()来创建,内部将this指针当作Outer*传进去。
NewLocation.Z += DeltaHeight * 20.0f; //把高度以20的系数进行缩放 RunningTime += DeltaTime; SetActorLocation(NewLocation); } 获取设置本地位置 1 GetActorLocation(),SetActorLocation(FVector v) 数学函数库 2 FMath 3 UCLASS() - 告知虚幻引擎生成类的反射数据。类必须派生自 UObject。