unity3d用射线检测做了一个物体的捡起功能-创新互联

 今天去了下北京的虚拟现实产业园,看了下,感觉虚拟现实产业以后发展前景可能会蛮好的,回来之后想了下上次做的一个秘密潜行的游戏的时候。主角拿到钥匙的检测,我当时用的是碰撞检测,想了下。是否射线检测会更合适,就想一些RPG游戏里面的检起掉落在地上的装备那效果,就写了一个

创新互联建站致力于互联网品牌建设与网络营销,包括成都网站设计、成都做网站、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联建站为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联建站核心团队10余年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。

 代码如下:

using UnityEngine;
using System.Collections;

public class RayPlayer : MonoBehaviour {

    public bool canPick;//是否可以检起
    void Update () {
      RaycastHit hitif;
      bool MyCollider = Physics.Raycast(transform.position,transform.forward,out hitif);//得到碰撞点
       if(MyCollider)//判断射线是否发生碰撞
       {
         if(hitif.distance<4&&hitif.collider.gameObject.tag=="Player")//判断在几米之内加上碰撞的物体的Tag是不是为Player(U3D里面自己设置Tag)
         {
            canPick=true;
            //如果显示为可捡起的时候,如果按下鼠标左建,就销毁这个物体
            if(Input.GetMouseButton(0))
            {
               Destroy(hitif.collider.gameObject,1f);
            }

         }
         else
         {
           canPick=false;

         }

       }
      else
      {

       canPick=false;

      }

    }

    //显示一个是否可以捡起的提升
    void OnGUI()
    {

    if(canPick)
    {
     GUI.Box(new Rect(Screen.width/2,Screen.height/2,100,60),"可以捡起");

     }
   }
}

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:unity3d用射线检测做了一个物体的捡起功能-创新互联
链接分享:http://ybzwz.com/article/djessp.html