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


2025年5月28日 星期三

[Unity] 比對Tag的速度

據說使用Tag Handle 而不是String 來比對Tag會比較快

var tagHandle = TagHandle.GetExistingTag( "Player" );

if ( CompareTag( tagHandle ) )

{

}


但這個只有在Unity 2023之後才有...

https://baba-s.hatenablog.com/entry/2025/03/09/142508


2024年11月13日 星期三

拔草中

 網站又是滿地雜草沒有清理,好像該寫點東西了。

2022年7月25日 星期一

iOS中Google簡報App如何觀看備忘錄

寫給自己免得又忘掉。 

我的需求是在A桌機上用單一個螢幕撥放投影片,同時我想要可以看iOS Google簡報App內的
備忘錄作為小抄,但在iOS App上卻不能用,官方文件裡面寫的方式找不到對應的按鈕。

後來用了一個繞過去的方式來解決,概念是用電腦投影到給眾人看,而Google簡報App切換
到"編輯模式",這時就可以看到之前寫好的備忘文字了。

流程大概是這樣:
  1. App中打開要觀看的投影片。
  2. 隨便在任一頁上點一下,這時會出現"新增註解"跟"編輯投影片"兩個選項。選擇"編輯投影片"。
  3. 在右上方的"..."按鈕點一下,可以看到有個"演講者備忘錄"的選項可以開關,開起來。
  4. 這時就可以用編輯模式來觀看寫好的小抄了。

不得不說,Google到底在搞啥啊......

2016年12月31日 星期六

還活著

2016一整年就發了那麼一篇文章,完全忘了這邊要灌溉一下。

無論如何,一年又過去了。

2016年6月2日 星期四

[GitHub]Unity中用五張不同光源方向的texture產生normal map

先前看到了一個用手機拍照產生normal map的影片,手癢寫了一個類似的東西。
這個Unity小程式可以放五張不同方向光源(直射、上下左右)的貼圖產生一張normal map。
其實先前也看過有人做過類似的東西但需要美術畫五張不同方向光源的點陣圖,感覺美術製程超累的就懶得弄。但看到同樣的概念用camera就可以發揮更多效益,腦袋真的要多轉轉彎才行啊~~

Github link:
https://github.com/stanley1108/NormalMapBy5Texture

參考的影片
https://www.facebook.com/NormalMapCamera/videos/1594890717506146/

先前看到的Sprite Normal map產生器
https://www.youtube.com/watch?v=fy3FvPg01w0

2015年5月23日 星期六

[Unity 5] 動態建立Sprite錯誤

在Unity 4時我有一段code是讀取貼圖建立Sprite:

m_bannerSprite.sprite = Sprite.Create(m_bannerTexnew Rect(0,0,64064), new Vector2(0.5f,0.5f), 1f); //m_bannerSprite 是 SpriteRenderer

但是同樣的code在Unity5會出現錯誤:
!hasError

UnityEngine.Sprite:Create(Texture2D, Rect, Vector2, Single)

去網路上查了一下發現
可能是因為建立Sprite時不是用Texture原來的解析度所導致的,將Rect的長寬改成Texture的原始解析度就可以成功建立了:
m_bannerSprite.sprite = Sprite.Create(m_bannerTexnew Rect(0,0m_bannerTex.widthm_bannerTex.height), new Vector2(0.5f,0.5f), 1f/64f);

要改動Sprite輸入時的大小的話,可以在Sprite.Create()參數中加上pixelPerUnit的參數。

當初寫這功能時還沒有UGUI,所以是用Sprite來做banner功能,現在的話應該會用UGUI的Image來處理就是了。

http://forum.unity3d.com/threads/sprite-create-error-message-haserror.312885/