纳金网

标题: 用Unity自带API 求射线与平面的交点坐标 [打印本页]

作者: 烟雨    时间: 2018-12-29 22:17
标题: 用Unity自带API 求射线与平面的交点坐标
来自:决晴谷

Unity的API中封装了平面算法的相关接口。如果想快点实现求一条射线和平面是否存在交点,可以这样写。
代码很简单,注释在代码里,现在直接提供了:
  1. ///按下鼠标左键
  2.         if (Input.GetMouseButtonDown(0))
  3.         {
  4.             ///创建一个以世界坐标的原点的平面
  5.             Plane plane = new Plane(Vector3.up, Vector3.zero);
  6.             ///创建一个从鼠标处发出的射线
  7.             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
  8.             float enter;
  9.             ///使用这个函数检测平面和射线是否存在交点,并计算出射线与平面交点的距离。
  10.             ///注意,射线可能与平面不存在交点
  11.             if (plane.Raycast(ray, out enter))
  12.             {
  13.                 if (MoveAction != null)
  14.                 {
  15.                     ///获取这个交点的坐标
  16.                     MoveAction(ray.GetPoint(enter));
  17.                 }
  18.             }
  19.         }
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5