AR 中的陰影與浮現效果 (Unity實現)

2021-07-03 14:16:29 字數 1013 閱讀 3595

增強現實作為一種互動方式是用來承載內容的。用它來承載 2d 內容,就像是給我們原本的世界增添了一些資訊;而用它來承載 3d 內容,就會給人一種將虛擬物體帶入到現實中的感覺。這裡我們將使用 高通+unity 的方式來實現 3d 效果,並討論如何新增陰影及如何使虛擬物體浮現出來。

最後通過編譯執行,我們就能看到結果了。

在 unity 中我們通常給物體新增陰影來增加真實感。

但是我們直接這麼做的話會在畫面中也看到乙個白色的平面。所以我們需要乙個透明的平面,但能夠接收陰影。為了達到這個目的,我們需要乙個自定義的著色器。

shader 

"fx/matte shadow"

_cutoff 

("alpha cutoff"

, range

(0,1

))=0.5

}subshader 

lod 

200blend zero srccolor

cgprogram

#pragma su***ce surf shadowonly alphatest:_cutoff

fixed4 _color

;struct input  ;

inline fixed4 lightingshadowonly 

(su***ceoutput s

, fixed3 lightdir

,fixed atten

)void surf 

(input in

,inout su***ceoutput o

)endcg }

fallback 

"transparent/cutout/vertexlit"}

使用 matte shadow 製作材質球,再將它拖拽到我們的平面上,就得到了我們期望的效果。注意如果沒看到陰影的話,很可能是 scale 或者 project quality 設定的問題。

要實現這個效果,我們需要使用 [depth shader](原理是我們將使用乙個透明但看不到內部的盒子將低於物料的物體隱藏起來。

Unity 實現AR 過程中的陰影與浮現效果

在 unity 中我們通常給物體新增陰影來增加真實感。但是我們直接這麼做的話會在畫面中也看到乙個白色的平面。所以我們需要乙個透明的平面,但能夠接收陰影。為了達到這個目的,我們需要乙個自定義的著色器。shader fx matte shadow cutoff alpha cutoff range 0,...

css中的陰影效果

語法 第乙個值 npx 陰影向水平方向偏移 n個畫素 正數往右 負數往左.第二個值 npx 陰影向垂直方向偏移 n個畫素 正數往下 負數往上.第三個值 羽化大小 模糊的大小 第四個值 陰影尺寸 在原有陰影的基礎上增加的值 第五個值 顏色預設值是黑色.第六個引數 內外陰影 預設是外陰影 內陰影是ins...

css中的基本簡單動畫與過度效果

css的過渡動畫效果 transform translate transform translate translatex 水平偏移 translatey 垂直偏移 translate x,y 水平垂直偏移 裡面可以寫px或者百分比 百分比參照的是當前盒子的寬和高 所以可以使用translate 5...