|
我开发的3D游戏为什么子弹碰撞检测不出来啊,老是提示没打中。这个没检测墙壁碰撞
[em17]
'检测是否击中, 返回0未击中, 返回1普通击中, 返回2爆头, NowShoot是子弹轨迹
Public Function CheckShoot(NowShoot As D3DVECTOR) As Long
Dim I As Integer
Dim COL_RET As TV_COLLISIONRESULT
For I = 1 To UBound(ACTRS)
If ACTRS(I).BODY.AdvancedCollision(Vector(PosX, PosY, PosZ), NowShoot, COL_RET, TV_TESTTYPE_MDL_HITBOXES) = True Then
'检查是否受到墙壁的阻挡(未完成!)
'CheckShootWall
If ACTRS(I).BODY.GetBoneName(COL_RET.boneId) = "Bip01 Head" Then
'爆头
CheckShoot = 2
Else
'身体
CheckShoot = 1
End If
Else
'未击中
CheckShoot = 0
End If
Next I
End Function |
|