瞄準器!3D入門實戰(zhàn)!拇指射箭!Cocos Creator 3D !
瞄哪打哪!超簡單的射線檢測!提供試玩和完整項目!
效果預(yù)覽

原理
在 Cocos Creator 3D 剛出來時, 寫了一個簡單的拇指射箭(點擊閱讀)?。
不過,當時的瞄準發(fā)射計算是以某一個系數(shù)來控制的。
這感覺不太對。

還是用一個射線檢測去處理這個瞄準結(jié)果吧。

首先,通過攝像機,把瞄準器的位置轉(zhuǎn)到屏幕坐標。
const?screenPoint?=?this.camera_main.worldToScreen(this.NodePos_bows.node.worldPosition);
然后,在通過攝像機做出一條射線。
const?outRay?=?this.camera_main.screenPointToRay(screenPoint.x,?screenPoint.y);
最后通過射線計算出終點位置。

這邊用分軸思想。
因為z軸坐標是確定的,可以先計算出z軸的方向長度比例。
const?targetZ?=?this.NodePos_target.z;
const?dir_t?=?(targetZ?-?outRay.o.z)?/?outRay.d.z;
再根據(jù)這個比例,計算出x和y坐標就可以啦。
const?targetX?=?outRay.o.x?+?outRay.d.x?*?dir_t;
const?targetY?=?outRay.o.y?+?outRay.d.y?*?dir_t;
小伙伴們學會了么?
小結(jié)
坐標轉(zhuǎn)換!攝像機!射線!
以上為白玉無冰使用 Cocos Creator 3D v1.1.2 實現(xiàn) "3D瞄準器" 的技術(shù)分享。歡迎分享給身邊的朋友!
知識不過是潛在的力量,只有將它組織成明確的行動計劃,并指引它朝著某個明確目的發(fā)揮作用的時候,知識才是力量。
更多
https://github.com/baiyuwubing/cocos-creator-3d-examples
點擊“閱讀原文”查看精選導航
“在看”是最大的鼓勵▼
評論
圖片
表情



