屏幕拾取

作者:追风剑情 发布于:2016-1-27 14:42 分类:Unity3d

示例一: 判断鼠标选中的物体

using UnityEngine;
using System.Collections;

public class ScreenPointToRayTest : MonoBehaviour {

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //Camera.main为第一个启动的Tag为MainCamera的摄相机
            //投射距离
            float dist = Camera.main.farClipPlane - Camera.main.nearClipPlane;
            //通过光线投射判断鼠标点中的物体
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, dist))
            {
                Debug.Log("鼠标选中的物体名字: " + hit.transform.name + ", 点击坐标: "+hit.point.ToString());
                Debug.DrawLine(ray.origin, hit.point);
            }
        }
	}
}

 

 

标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号