StreamableManager和异步加载

1. 官网异步加载文档

https://docs.unrealengine.com/zh-CN/Programming/Assets/AsyncLoading/index.html

2. 官网中的UGameGlobals,没有找到。

3. 解决方法:参考Engine\Source\Runtime\UMG\Private\Components\Image.cpp

void UImage::SetBrushFromSoftTexture(TSoftObjectPtr<UTexture2D> SoftTexture, bool bMatchSize)
{
	CancelTextureStreaming();

	TWeakObjectPtr<UImage> WeakThis(this); // using weak ptr in case 'this' has gone out of scope by the time this lambda is called

	StreamingHandle =
		UAssetManager::GetStreamableManager().RequestAsyncLoad(SoftTexture.ToSoftObjectPath(),
			[WeakThis, SoftTexture, bMatchSize]() {
				if (WeakThis.IsValid())
				{
					WeakThis->SetBrushFromTexture(SoftTexture.Get(), bMatchSize);
				}
			}, FStreamableManager::AsyncLoadHighPriority);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值