本文將通過射線和射線回調實現簡單的遮擋物半透明過程,來介紹具體功能的作用和使用方法。
一、Ray
egret3d.Ray.create(origin,direction)。
1、origin:起點,射線的出發點;
2、direction:方向:射線指向的方向;
3、射線不會被遮擋;
4、射線創建需要跟隨移動後需手動修改位置。
這裡把起點設置在相機位置,並且指向人物。完成射線創建。
需要設置其他屬性「ray.xxx」即可具體參數參考egret3d射線文檔。
二、 Raycast、RaycastInfo
1、egret3d.raycast(ray,gameObject,raycastMesh,raycastInfo);
2、ray:射線;
3、gameObject:被檢測對象;
4、raycastMesh:是否開啟網格蒙皮檢測;
5、raycastInfo:射線回調信息,使用egret3d.RaycastInfo.create()創建。
射線檢測設置對象為飛機,且檢測碰撞後從raycastInfo中拿到碰撞對象並且設為渲染為半透明。如單純檢測是否碰撞某物體只需拿到返回布爾值,不需要操作回調信息。
效果:
1、射線檢測可手動設置為固定時間刷新檢測實現隨動;
2、射線回調可獲得各類信息,具體參考egret3d射線回調文檔。
以上就是本次教程的全部內容了,不知道各位開發者小夥伴們看完之後有沒有學會,如果有任何關於白鷺引擎的問題,歡迎在文章內評論,我們共同交流探討。