2026年4月26日 星期日

ASR UE5.6 Plugin安裝的小小問題

 ARM 有個ASR UE5的Plugin 是針對Mobile加強的FSR 版本,但目前看到(2026.04)是只支援到UE5.5。

https://github.com/arm/accuracy-super-resolution-for-unreal

我手上的環境是Launcher版的UE5.6,想說安裝一下來看看,就先直接照說明下載、解開壓縮然後開始build。

於是乎出現了下列錯誤:

[1/10] Compile [x64] ArmASRFXSystem.cpp

F:\Epic Games\UE_5.6\Engine\Source\Runtime\Renderer\Private\MeshDrawCommands.h(10,1): fatal error C1083: Cannot open include file: 'TranslucentPassResource.h': No such file or directory

#include "TranslucentPassResource.h"

^

這就有趣啦,居然說是UE引擎內的MeshDrawCommands.h找不到另一個UE內的TranslucentPassResource.h。該header是位於這邊:

\Engine\Source\Runtime\Renderer\Internal\TranslucentPassResource.h

遇事不決先Google ,果然就發現有類似的狀況:

https://forums.unrealengine.com/t/ue5-6-upgrade-error-including-sceneprivate-h-missing-translucentpassresource-h/2544304

原來是5.6用了更嚴格的PrivateIncludePaths的檢查,不再是A引用B,B引用C都沒問題,而是C也要放到PrivateIncludePaths 內。

所以解決方法是PrivateIncludePaths.AddRange() 中多加一行
Path.Combine(EngineDirectory,"Source/Runtime/Renderer/Internal"),
這樣就好。

另一個小問題是FArmASRTemporalAAHistory::AddRef()的回傳型別錯誤,只要把它改成Base class的FReturnedRefCountValue就搞定了。


是說....我後來去ASR github上看到有個pull request上面就有寫解決方案了,果然是多看兩眼有沒有前人種樹就可以省下一些時間。但換個方向想,自己查過記憶也比較深刻一點。

修正5.7的PR:
https://github.com/arm/accuracy-super-resolution-for-unreal/pull/16


沒有留言:

張貼留言