网站公告 | 首次推出unity3d 完整学习路线,最强课程配套、服务!详情点击
查看: 1366|回复: 7
收起左侧

[成都大红花] Unity3D游戏开发“判断两个物体是否穿插(相交)”

[复制链接]

[成都大红花] Unity3D游戏开发“判断两个物体是否穿插(相交)”[复制链接]

成都.大红花 发表于 2017-1-10 17:01:30 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式 回复:  7 浏览:  1366
本帖最后由 里斯 于 2017-1-11 10:01 编辑

在unity游戏开发中可能会碰到这样的需求,就是必须知道两个物体是否有穿插现象。
在unity中怎么来判断这两个物体是否有穿插呢?可能我们第一个想法就是判断一个物体TriggerStay在另个物体中,但是这样判定只能针对于有刚体并且运动的物体,那么没有刚体或者不运动的两个物体之间怎么样判断是否有穿插现象呢?

在Unity中给开发者提供了这样的方法Physic.OverlapSphere 相交球  
static function OverlapSphere (position :Vector, radius : float, layerMask : int = kAllLayers) : [url=]Collider[/url][]
position 参数:代表了这个相交球的位置
radius 参数:代表了这个相交球的半径大小
layerMask 参数:代表了你要检测的层
这个方法返回的是一个Collider数组,返回的是这个相交球中的所有碰撞体。

例子:
[AppleScript] 纯文本查看 复制代码
bool isStayPlank = false;
Collider[]  collidedObj = Physics.OverlapSphere(hit.transform.position, 20);  
foreach(Collider obj in collidedObj)
{
    if(obj.tag == "ball")
    {
        isStayPlank = true;
        break;
    }
}


如果有什么直接在楼下回复,谢谢大家支持。


免费评分

参与人数 1泰斗币 +50 收起 理由
里斯 + 50 赞一个!

查看全部评分

+1
1367°C
7
  • 里斯
  • nham123
  • 马三小伙儿
  • 铁蛋儿
  • budicreed
过: 他们
最近访问 头像模式 列表模式
因分享而快乐,学习以自强!
里斯 发表于 2017-1-11 15:22:47 显示全部楼层
泰斗帖子强,满满正能量。
因分享而快乐,学习以自强!
nham123 发表于 2017-1-11 17:31:44 显示全部楼层
c bergt rgf dfg fdgfs gf gfsg
因分享而快乐,学习以自强!
马三小伙儿 发表于 2017-1-13 10:35:51 显示全部楼层
看了LZ的帖子,我只想说一句很好很强大!
因分享而快乐,学习以自强!
铁蛋儿 发表于 2017-1-17 11:47:09 显示全部楼层
资源甚好,发帖艰辛,且阅且珍惜。
因分享而快乐,学习以自强!
budicreed 发表于 2017-1-24 17:12:58 显示全部楼层
看了LZ的帖子,我只想说一句很好很强大!
因分享而快乐,学习以自强!
钢之怪诞 发表于 2017-2-18 10:51:41 显示全部楼层
你们大神真会玩。
因分享而快乐,学习以自强!
幸福的小道 发表于 2017-5-23 09:23:50 显示全部楼层
开眼界了。谢谢分享
因分享而快乐,学习以自强!

本版积分规则

VR/AR版块|Unity3d|Unreal4|新手报道|小黑屋|站点地图|沪ICP备14023207号-9|【泰斗社区】-专注互联网游戏和应用的开发者平台 ( 沪ICP备14023207号-9 )|网站地图

© 2001-2013 Comsenz Inc.  Powered by Discuz! X3.2

1
QQ