不好意思,我膨脹了! shader 入門精要! Cocos Creator 3D Shader !
shader 也能讓你變胖?膨脹肥胖效果! 附完整項目!
效果
實現
模型的形狀一般都是由三角形圍成的,每個頂點一般都會有一個法線信息。
所以我們只需要把每個頂點的位置沿着法線方向,增加一點距離就可以了。
position.xyz + v_normal * fatFactor
那麼在 CCC 3D
中怎麼融入這個效果呢?
先找到模型的材質,看看默認使用的是什麼effect
(一般都是builtin-standard.effect
)。
拷貝一份 effect
開始編寫 (這裏拷貝的是builtin-standard.effect
)。
找到法線向量和計算頂點座標的地方。
加上法線方向的位移即可。
return cc_matProj * (cc_matView * matWorld) * vec4(In.position.xyz + v_normal*0.05, In.position.w);
最後選擇我們寫好的 builtin-standard-fat.effect
,就可以看到效果啦。
當然也可以定義一個肥胖係數fatFactor
。
uniform lamyoung_com {
float fatFactor;
};
//In.position.xyz + v_normal * fatFactor
在外部控制這個肥胖係數,就達到了原理那個效果圖啦。
this.modelComponent.getMaterial(0).setProperty('fatFactor', 0.1 * slider.progress);
小結
法線向量! 膨脹 !
shader
!
以上爲白玉無冰使用 Cocos Creator 3D v1.1.2
實現 "shader 膨脹效果(fat)"
的技術分享。歡迎分享給身邊的朋友!
天下事有難易乎?爲之,則難者亦易矣;不爲,則易者亦難矣。人之爲學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。