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

被折叠的 条评论
为什么被折叠?



