Unity通过射线碰撞选择模型,然后控制模型的移动、旋转、缩放等动作

本章和大家一起讨论下unity中的射线碰撞。

博主最近在做一个通过手指点选模型,然后控制模型移动 旋转 缩放的功能模块。

在做的过程中用到了射线碰撞,所以想记录下。

 /**

     * 从摄像头发出一条射线途经触摸点 返回碰撞的组件

     * **/

    public static GameObject getCollisionObc(Camera camera, Vector3 touchPos)

    {

        Ray ray = camera.ScreenPointToRay(touchPos);//从摄像机发出到点击坐标的射线

        RaycastHit hitInfo;

        GameObject gameObj = null;

        if (Physics.Raycast(ray, out hitInfo))

        {

            //获取碰撞的物体

            //Debug.DrawLine(ray.origin, hitInfo.point,Color.red);//划出射线,只有在scene视图中才能看到

            gameObj = hitInfo.collider.gameObject;

            return gameObj;

        }

        else

        {

            return null;

        }

    }

你可能感兴趣的:(Unity)