unity3d求射线碰撞物体的例子,要求只可以与某层物体发生碰撞.
c#:usingUnityEngine;usingSystem.Collections;publicclassPathing:MonoBehaviour{privateintLayerGround;privateboolCastRays=true;voidStart(){LayerGround=LayerMask.NameToLayer("Ground");}voidUpdate(){if(CastRays){Rayray=Camera.mainCamera.ScreenPointToRay(Input.mousePosition);RaycastHithit;//Raycastif(Physics.Raycast(ray,outhit,Mathf.Infinity)){if(hit.transform.gameObject.layer==LayerGround){Debug.Log("Ground");//这里和指定层碰撞}else{Debug.Log("OtherObjects");}}}}}js:privatevarLayerGround;privatevarCastRays:boolean=true;functionStart(){LayerGround=LayerMask.NameToLayer("Ground");}functionUpdate(){if(CastRays){varray=Camera.mainCamera.ScreenPointToRay(Input.mousePosition);varhit:RaycastHit;//Raycastif(Physics.Raycast(ray,hit,Mathf.Infinity)){if(hit.transform.gameObject.layer==LayerGround){Debug.Log("Ground");//这里和指定层碰撞}else{Debug.Log("OtherObjects");}}}}
举一反三
- Unity3d中物体发生碰撞的必要条件是什么?
- 下列选项中,哪个不是unity中物体发生碰撞的必要条件? A: 两个物体都必须带有碰撞器(Collider) B: 物体必须有合适的质量 C: 所有物体都要带有Rigidbody脚本 D: 运动的物体带有Rigidbody脚本
- 完全弹性碰撞发生的条件包含( )。 A: 碰撞物体是弹性体 B: 碰撞物体是塑性体 C: 碰撞物体是部分弹性体 D: 液体
- 碰撞检测首先要检测( ) A: 碰撞反应 B: 物体的速度 C: 物体的形状 D: 碰撞的发生
- 以下关于 Unity 中“层”的说法,错误的是?( ) A: 分“层”是 Unity 中对游戏物体进行分类的一种方法 B: Unity 中有默认的“层”,也有自定义的“层” C: “层”的名称可以任意修改 D: 在光照、碰撞等功能中,可以通过“层”来筛选受作用的游戏物体
内容
- 0
物体发生碰撞的必要条件是:两个物体都必须带有碰撞器____________,其中一个物体还必须带有_____________组件,而且必须是运动的物体带有这一脚本才能检测到碰撞。
- 1
物体发生碰撞的必要条件是?()
- 2
物体发生碰撞的必要条件 A: 两个物体都必须有碰撞组件(Collider) B: 其中一个物体必须有碰撞组件(Collider),另一物体必须带有Rigidbody刚体组件 C: 其中一个物体必须有碰撞组件(Collider),同时还带有Rigidbody刚体组件 D: 两物体都必须有碰撞组件(Collider),其中一物体还必须带有Rigidbody刚体组件
- 3
动能为EK的A物体与静止的B物体碰撞,设A物体的质量为B物体的二倍,mA=2mB若碰撞为完全非弹性的,则碰撞后两物体总动能为() A: E B: 2E/3 C: E/2 D: E/3
- 4
物体发生碰撞的必要条件是()。 A: 两个物体都有碰撞器即可 B: 都有刚体即可 C: 都有碰撞器,至少一个刚体 D: 都有刚体,至少一个碰撞体