3D拾取技术

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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拾取技术的主要内容,如果未能解决你的问题,请参考以下文章

关于Unity中的3D拾取

如何设置threejs原点位置

信迈3D机器视觉的技术路径和场景适用

Cocos2d-三维拾取Ray-AABB碰撞检测算法转

cesium常用方法汇集(工具篇)

关于Unity中鼠标选取物体的解决方案