unity shader 人物走入草叢,草的晃動特效特效怎麼做

時間 2021-06-04 10:23:54

1樓:

float3 worldPos = mul ((float3x4)unity_ObjectToWorld, vertex);

float distLimit = _affectDist;

for (int i = 0; i < _obstacleCount; ifloat3 _obstacle = _obstacles[ifloat3 bendDir = normalize (float3(worldPos.x,0,worldPos.z) - float3(_obstacle.

x,0,_obstacle.z));//direction of obstacle bend

float distMulti = (distLimit-min(distLimit,distance(float3(worldPos.x,0,worldPos.z),float3(_obstacle.

x,0,_obstacle.z))))/distLimit; //distance falloffvertex.xz += bendDir.

xz * distMulti * color.a * _bendAmount;

}或者float3 dis = distance(_position, World.position);

float3 circle = 1 - saturate(dis/_Radius);

float3 sphereDisp = WorldPosition - _Position;

sphereDisp *= circle;

v.vertex.xz += sphereDisp.xz;

2樓:

我的做法是約定草的貼圖uv平貼,即v與草的高度成正比。

vertex shader取v乘上週期時間即得頂點偏移,加上位置就是擺動效果。外部檢測人物是否進入草叢(檢測辦法多種,比如記錄地形草皮分布圖,檢測人物對應座標是否為草皮並取得草皮物體索引),進入時傳入動態週期時間即可。

Unity Shader 中, Shadow Caster路徑到底做了些什麼?

索拉裡斯星 topameng 我在這裡繼續追問一下。如果Shadow Caster路徑下返回的是攝像機視角下的深度圖,那這個深度圖的生成是依靠vertex著色器中加上 Bias 後的 z 值來生成的嗎?如果是這樣,那光源空間下的ShadowMap是用什麼資訊生成的?書上說這個路徑下會生成一張深度圖和...

Unity Shader 能否直接傳入視窗螢幕作為頂點結構

核能琉珠 早上實現了一下,quad位置座標和相機位置座標一致的情況下,在vertex shader中將模型頂點不經轉換 MVP轉換 直接賦值到輸出,即可實現在螢幕中顯示,但是很顯然quad的uv和頂點範圍不是從0 1,所以需要一定的轉換。Quad頂點對映到相機空間的實現 v.vertex.x 2 v...

Unity Shader 次表面散射 預積分次表面散射

聖約大先生 蟹妖。1.工裝公司啊。畫的什麼圖啊?服務哪種業態啊?圖畫到什麼程度啊?你是要參與平面規劃,還只是負責翻圖,立面和節點啊?你有沒有機會去現場啊?你喜不喜歡畫圖啊?2.家裝公司啊.哪家上市的呀?你知不知道,這個行業裡上不上市並不意味著公司業務水平高啊?連不連鎖也跟你半毛錢關係都沒有,你把這兩...