一個Plane是由兩個三角形構成的,所以World Position Offset,只會從中間這條線折疊
所有材質
這里前幾篇博客有說這種邏輯,就是做一個對稱的漸變數值
這里用粒子的A值來做樹葉折疊的程度,當然你也可以用Dynamic Param
這樣就可以讓葉子在沿著斜邊進行折疊
值越大折疊越厲害
上面只是對樹葉找到合適的方向進行折疊
將Sprite Renderer的FaceMode改成Custom,不然一直朝向相機效果就不對,按照道理是有一個3D視覺,朝向相機基本就是2D效果了
在這里有綁定Sprite Renderer的一些旋轉信息,所以我們就可以操作這個變量從而達到控制粒子旋轉的效果
在粒子生成的時候,將葉子隨機朝向,這里設置SpriteFacing為Random Vector
這里設置Sprite Facing為Rotate Vector,就會使得不停讓樹葉進行旋轉(若有值)
這里的Sprite Facing,是根據速度來做的,如果速度在Yaw值越快,那么就越垂直于Yaw的0值,其余同理,因為橫截面積越大的那個方向速度越慢
寫了一個模塊
速度和朝向求叉乘,叉乘結果值越大,角度就越大
再次叉乘,方向變成Velocity向反的向量,這兩步是防止為0的情況,然后就不飄動了
再歸一化進行點乘
點乘值越大,角度越小