由於本文配圖是傳送至 xlog 的 ipfs 地址,所以本站的文章圖片無法加載;若想更好的閱讀體驗請前往原站:https://xlog.xiaohan-kaka.me/ltcgi-use
前言#
LTCGI 是一種優化的即插即用實時區域光解決方案,使用線性變換余弦算法,適用於獨立的 Unity 和 VRChat。免費使用並註明出處。它可以利用 Unity 內置光照貼圖或 Bakery 在靜態對象上獲得逼真的陰影。
使用 ltcgi 可以給 vrchat 地圖內的物體乃至視頻播放器實現優雅的反射效果,同時也能獲得較好的性能
本文只是大概講述用法,具體請看官方文檔:https://ltcgi.dev/
安裝#
確保你的項目使用的是受支持的著色器
著色器列表 |
---|
ORL Shader Family by @orels1 |
Silent's Filamented |
Mochie's Unity Shaders |
Hekky Shaders |
z3y's Shaders |
Basic "Unlit" Test Shader (included) |
Surface Shader (included) |
使用 vcc 添加
https://vpm.pimaker.at/
若非用於 vrchat 項目,可以在 package manger 內用 git 導入
https://github.com/PiMaker/ltcgi.git
在導入項目後,找到LTCGI_Controller
並把他丟進 sence 中,位置隨意;這是用於控制 ltcgi 的烘焙以及調節一些設置所用的 prefab
使用#
ltcgi 用於控制發光的組件是一個名爲LTCGI_Screen
的組件
他必須放在至少有 3 或者 4 個頂點的Mesh Filter
物體上
舉例子: quad
控制器內容解釋#
名稱 | 含義 |
---|---|
arealight shapre | 定義發光的形狀 |
color | 光顔色(下面的按鈕用於嘗試直接從附著的物體上) |
Diffuse mode | 漫反射方式 |
specular | 選擇是否反射 |
Dynamic | 將此屏物體標記為動態。具有輕微的性能開銷,但允許在運行時移動屏幕並更改其顏色 |
double sided | 物體兩面都發光而不是一面 |
filp uv | 把 uv 翻轉過來 |
affect avatars | 是否影響角色本身(前提是角色使用的著色器兼容) |
color mode | 色彩模式 |
Affected Renderers | 選擇場景中的哪些渲染器應接收來自此 ltcgi screen 的光線 |
Lightmap Channel | 選擇烘焙陰影貼圖時此屏幕將佔用的光照貼圖通道 |
漫反射方式#
類型 | 意義 |
---|---|
no diffuse | 禁用 |
LTC Diffuse | 使用 LTC 算法的漫反射 |
Lightmap Diffuse | 直接使用在陰影貼圖烘焙中計算的數據 |
色彩模式#
類型 | 意義 |
---|---|
stanic | 靜態的 |
Texture | 從紋理中選擇顔色,可用於視頻紋理或者其他的靜態紋理 |
Single UV | 和 texture 差不多,但是會以從紋理中獲取的單一顔色點亮屏幕,並在下面指定的確切 UV 坐標處點亮屏幕 |
audiolink | 鏈接 audiolink 並偵測指定區域的信號,比如 bass |
應用實時視頻紋理#
下面舉例的是 vidviz 播放器,如果你使用的是 protv 播放器可以直接使用 controller 的按鈕一鍵配置;部分播放器本身也帶有自動化配置 ltcgi 的選項
其他播放器參考:https://ltcgi.dev/Getting%20Started/Setup/Realtime_Video
- 把 ltcgi 的使用的屏幕紋理丟進播放器的輸出目標內
- 前往
ltcgi controller
把剛剛添加進播放器的 texture 丟盡 video texture 選項內
- 之後選擇播放器的
screen
組件添加一個 component - 就是上文的LTCGI_Screen
, 配置好選項,完成
後記#
大概講完了 ltcgi 的基本內容,我本身也對這玩意屬於是一知半解,待以後使用這個工具更加熟練後可能會更新這文章吧,而且他也能和 audiolink 進行聯動整出一些炫酷的效果,當然這就是另外的事情了
建議看一下官方文檔:https://ltcgi.dev/
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://blog.xiaohan-kaka.me/posts/unity/ltcgi-use