UE4-FindObject & LoadObject

本文介绍了UE4中动态加载UObject和UClass的方法,包括LoadObject<T>()和LoadClass<T>()。FindObject<>适用于资源已加载的情况,而LoadObject<>用于资源尚未加载。通过StaticFindObject()和StaticLoadObject()的详细对比,理解在游戏开发中如何正确地在运行时加载资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[UE4]C++实现动态(Runtime)加载的问题:LoadClass<T>()和LoadObject<T>() - 知乎

动态加载UObject和动态加载UClass分别用LoadObject<T>(),和LoadClass<T>() ,两者均在在UObjectGlobals.h中。

FindObject和LoadObject有什么区别?UE4引用资源小结 - 知乎

如果资源已经加载完毕: FindObject<>()

如果资源还没加载: LoadObject<>()

//UObjectGlobals.h
/**
 * Find an optional object.
 * @see StaticFindObject()
 */
template< class T > 
inline T* FindObject( UObject* Outer, const TCHAR* Name, bool ExactClass=false )
{
	return (T*)StaticFindObject( T::StaticClass(), Outer, Name, ExactClass );
}

/** 
 * Load an object. 
 * @see StaticLoadObject()
 */
template< class T > 
inline T* LoadObject( UObject* Outer, const TCHAR* Name, const TCHAR* Filename=nullptr, uint32 LoadFlags=LOAD_None, UPackageMap* Sandbox=nullptr )
{
	return (T*)StaticLoadObject( T::StaticClass(), Outer, Name, Filename, LoadFlags, Sandbox );
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值