游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1916|回复: 5

一个关于碰撞的问题

[复制链接]

10

主题

26

帖子

38

积分

注册会员

Rank: 2

积分
38
发表于 2015-9-15 13:37:59 | 显示全部楼层 |阅读模式
在u3d场景中,摄像机是透视投影,有一群3D的可碰撞的敌人,我现在要在屏幕中点击一位置,在这个点以半径为R的圆形范围内的敌人都受到伤害,我曾经用过Camera.ScreenPointToRay, Physics.Raycast和函数,但这样只能得到一点的碰撞,如果想得到区域内的碰撞体,应该怎样处理呢,请指教

0

主题

125

帖子

1445

积分

金牌会员

Rank: 6Rank: 6

积分
1445
发表于 2015-9-15 16:43:17 | 显示全部楼层
可以先获得鼠标点到地表的那个点,然后以这个点为圆心创建一个胶囊碰撞体来做碰撞检测

10

主题

26

帖子

38

积分

注册会员

Rank: 2

积分
38
 楼主| 发表于 2015-9-15 16:57:21 | 显示全部楼层
VHwy 发表于 2015-9-15 16:43
可以先获得鼠标点到地表的那个点,然后以这个点为圆心创建一个胶囊碰撞体来做碰撞检测 ...

谢谢,这也是个可行方法,不过由于摄像机是透视投影,碰撞会有点不准确

0

主题

125

帖子

1445

积分

金牌会员

Rank: 6Rank: 6

积分
1445
发表于 2015-9-15 22:45:31 | 显示全部楼层
fantasy 发表于 2015-9-15 16:57
谢谢,这也是个可行方法,不过由于摄像机是透视投影,碰撞会有点不准确 ...

如果你是希望圆的大小基于屏幕的而非地表,那就得把胶囊体的方向弄成和射线平行,当然这的确会有点复杂

10

主题

26

帖子

38

积分

注册会员

Rank: 2

积分
38
 楼主| 发表于 2015-9-16 08:38:29 | 显示全部楼层
VHwy 发表于 2015-9-15 22:45
如果你是希望圆的大小基于屏幕的而非地表,那就得把胶囊体的方向弄成和射线平行,当然这的确会有点复杂 ...

地面到摄像机中间会有不同深度的敌人,我希望得到的是屏幕范围内所有不同深度的敌人

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2015-9-29 11:24:51 | 显示全部楼层
穿透射击效果?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-25 15:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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