一。unity三種解決方案
1.subtractive模式
動態物體 主光實時,環境光diffuse項lightprobe提供,高光項由reflectionprobe提供。陰影通過shadowmap提供。(靜態物體產生在動態物體的陰影由lightprobe提供) 。靜態物體沒有高光,環境光diffuse項由lightmap提供。高光項由reflectionprobe提供。
主要問題 均對於同乙個材質的2個物體,只不過乙個為靜態物體,另乙個為動態物體:
1.當實時光源發生改變時,靜態物體無法更改。
2.由於烘焙採用的是輻照度演算法,與實時不一樣,表現上不一樣,diffuse顏色有區別,同時靜態物體缺少高光。
3.對於動態物體產生的陰影,乙個靜態物體已經在lightmap記錄了沒有動態物體時接受的輻照度,無法減少。只能通過預估一下產生的輻照度以及通過shadowcolor進行調節。
2.shadowmask模式
烘焙時不怎麼考慮主光的貢獻。同時增加乙個shadowmask貼圖,用來記錄靜態物體之間產生的陰影。主要是為了減少shadowpass產生的drawcall帶來的效能消耗。
動態物體不變。靜態物體受主光實時影響。環境光diffuse項通過lightmap獲取,高光項由reflectionprobe提供。陰影項由shadowmask提供。同時會對動態物體產生的陰影項與記錄的陰影項進行融合。
二。lightmap不同結果
1.lightmap 不支援法線
2.directional lightmap 把環境光當成乙個方向光,實時與法線進行計算。
引用文獻:
stricky footer的三種解決方案詳解
stricky footer設計是最古老和最常見的效果之一,我們都曾經歷過類似的情景 如果頁面內容不夠長的時候,頁尾塊貼上在底部 如果內容足夠長時,頁尾塊會被內容向下推送。這些天做vue express實戰的練習,跟著黃軼老師倒是認識了stricky footer,就認真的了解學習了一下,但是前兩天...
Mybatis傳多個引數(三種解決方案)
據我目前接觸到的傳多個引數的方案有三種。dao層的函式方法 public user selectuser string name,string area select from user user t where user name and user area 其中,代表接收的是dao層中的第乙個引...
Mybatis傳多個引數(三種解決方案)
據我目前接觸到的傳多個引數的方案有三種。dao層的函式方法 public user selectuser string name,string area select from user user t where user name and user area 其中,代表接收的是dao層中的第乙個引...