游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3772|回复: 3

我开发的3D游戏为什么子弹碰撞检测不出来啊,老是提示

[复制链接]

2

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2012-9-16 19:58:00 | 显示全部楼层 |阅读模式
我开发的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

11

主题

95

帖子

658

积分

高级会员

Rank: 4

积分
658
发表于 2012-9-16 21:01:00 | 显示全部楼层

Re:我开发的3D游戏为什么子弹碰撞检测不出来啊,老是提

动态的测试是要抽样检测的,时间一长就会穿过物体的!在实时碰撞检测里面,他提到动态物体测试时,用递归测试,对时间减半递归测试,一直到相碰撞或递归时间小于某个值!

2

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
 楼主| 发表于 2012-9-21 18:56:00 | 显示全部楼层

Re: 我开发的3D游戏为什么子弹碰撞检测不出来啊,老是提

可是具体怎么做啊。。。?我是初学者。
我直接吧子弹射出方向眼神3000个单位和枪口之间做人和子弹的检测 [em4] [em24]

2

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
 楼主| 发表于 2012-9-22 20:11:00 | 显示全部楼层

Re: 我开发的3D游戏为什么子弹碰撞检测不出来啊,老是提

[em2]
这个问题我已经解决啦, 是准星瞄准的问题, 不是无法检测的问题  [em10]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 16:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表