2020年6月5日 星期五

[AD] #0 - EasyRoads3D/ProBuilder 使用筆記

因為幫忙成大同學那邊的計畫
所以加入他們的計畫幫忙處理 Unity Engine 相關較細節的部分
本來計畫主持人也照例畫大餅希望可以把規模做大
可是因為我每周能貢獻的時間很有限
所以到後來我幾乎變成美術擔當了 (咦

因為參與計畫所以也有機會摸到/玩到一些較專業的玩具
如 EasyRoads3D Pro, Amplify Impostor, HDRP相關設定 ...

最近使用 EasyRoads3D 工具試圖要參照 Google Maps 拉出道路
其實成大博士生他們已經成功拉好第一版
效果還蠻 ok

只是因為後來想加入的細節太多開始遭遇到效能瓶頸
所以我試著重新整理整個場景
因此也同時需要使用到 EasyRoads3D 重新製作一部分 road assets

目前第一次使用 ProBuilder + EasyRoads3D 做好道路的安全島
第一次使用 ProBuilder 裡面的 UV Editor 還因為太久沒接觸
忘記頂點之間的 UV 拼接時需要考慮 mipmapping 的連續性或是 padding
所以發現物件在連續拼接時因為 mipmapping 產生貼圖的不連續裂縫
只好逼自己重新在 ProBuilder 把貼圖和 UV 重拉一遍

基本上目前只有做到一些小細節
也沒甚麼技術內容可分享
這裡單純寫下使用心得筆記作為紀錄

抱怨

一陣子回來覺得 Blogger UI換掉後變超爛超難用

上次更新又是 3-4 個月前
還是不知道那些持續更新開發日誌的人怎麼做到的

總覺得自己工作上沒有成就
自己的夢想也停步不前找不到時間去完成
同時又沒有多幫忙照顧好家裡
根本一無是處阿!!!

以前荒廢到 30 歲的時候突然在想自己是不是還有 40 年可以拚
後來到 40 歲發現身體每況愈下後覺得可能剩不到 25 年吧
前陣子自己喜歡的吳朋奉演員突然驟逝
讓我在想是不是其實只剩下 15 年了呢...

運動不行
工作不行
顧家不行
連身體健康也越來越廢
What a loser

2020年1月22日 星期三

Shader Graph的坑.....


在 shader graph 設定 exposed property
shader graph 仍會自動給予隨機命名變數
以至於在 runtime scripting 要改變屬性值時必須使用 shader graph 命名的隨機 variable name
在 blackboard 設定 exposed property 可以在 reference 欄位自訂 variable name
但是說這根本就該幫 developer/designer 做同步命名阿....
這太瞎了
https://answers.unity.com/…/setting-unitys-new-shader-graph…


另外也還不支援 GPU instanced MaterialPropertyBlock
https://forum.unity.com/.../materialpropertyblock-with.../

2020年1月20日 星期一

第一個 shader graph

撇除研究學習與練習
居然現在才正式製作我第一個 shader graph....
簡單到不行的東西其實沒什麼好亮出來的
只是提醒一下自己拖了這麼久才開始使用這個 (永久preview) 的東西

XD


2019年12月4日 星期三

(完) PhysicsRaycaster + RenderTexture camera

繼續前面的筆記

https://riveragamer.blogspot.com/2019/12/unity-render-to-rendertexture.html
https://riveragamer.blogspot.com/2019/12/render-to-rendertexture.html

在網路社群上發問, 經別人提點後
想起一開始需求其實是跟分割畫面比較有關係
所以根本不用搞這麼複雜
就算是在 LWRP 流程中多個 camera viewport 不重疊就可以順利進行分割畫面繪圖

但所謂頭都洗下去了
forum 文章, source codes 也爬了(一些些 ....
就改寫了一個自己的 RTPhysicsRaycaster class (繼承 PhysicsRaycaster)
原理其實很簡單
只是將計算 raycast 用途的 ray 從 Camera.ScreenPointToRay() 改採用 Camera.ViewportPointToRay() 而已
https://github.com/riveranb/UnityRTEvents/blob/master/Assets/RTPhysicsRaycaster.cs

目前這樣改之後, 所有 EventSystem發出的事件在 off-screen rendering情況下都可以正確接收/處理了