硬引用
拥有资源对象实际成员变量,直接与资源对象产生耦合(硬引用被加载到内存中,则被引用的对象资源也被加载到内存中)
软引用
仅存储资源对象的资源路径没有与资源产生耦合关系的引用(软引用加载到内存中,引用对象不会被加载到内春中,只有在需要的时候才被加载进内存中)
软引用指向的资源未被加载,仅仅是提供了一个路径,通过路径找到我们的资源。
软引用有四种:FSoftObjectPath、FSoftClassPath、TSoftObjectPtr、TSoftClassPtr
头文件声明
//软引用
//上下两个区别是上面是object,下面是class
//object的好处是可以指认一些非类资源,比如图片
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Path")
FSoftObjectPath AssObjectPath;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Path")
FSoftClassPath AssetClassPath;
//用于引用一些actor对象
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Path")
TSoftObjectPtr<AActor>AssetObjectPtr;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Path")
TSoftClassPtr<AActor>AssetClassPtr;
细节面板就会显示