首页 > 代码库 > 3D拾取技术

3D拾取技术

在unity3d中用户通过触摸屏选中虚拟3D世界中的物体进行操控,就需要掌握3d 拾取技术。


3d拾取技术非常的简单:由摄像机与屏幕上的触控点之间确定一条射线,由此射线射向3d世界,

最先和此射线相交的物体就是被选中的物体,在对此物体的操控编写相应的代码即可。



最需要下面的几句代码:

For(var touch : Touch  in Input.touches)//对当前的触控事件循环监听

{

  var ray = Camera.main.ScreenPointToRay(touch.position);//声明一条由屏幕触控点发出垂直于屏幕的射线


     var hit : RaycastHit;

     if(Physics.Raycast(ray,hit))//判断此物理事件

      {

     if(hit.transform.root.transform == this.transform){ 

     }

       }

}

3D拾取技术