博客列表 >Unity3d从屏幕坐标发射一条射线

Unity3d从屏幕坐标发射一条射线

龍__遇见彩虹的博客
龍__遇见彩虹的博客原创
2017年12月03日 16:53:141722浏览
private Camera mainCamera;

void Start()
{   
        //通过名字找到MainCamera物体,从而获取其身上的Camera组件
    //mainCamera = GameObject.Find("MainCamera").GetComponent(Camera)<>;
    
    //通过标签tag为MainCamera获取MainCamera物体  The first enabled camera tagged "MainCamera" (Read Only).
    mainCamera = Camera.main;
}

void Update()
{
        Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        bool isHit = Physics.Raycast(ray, out hit);
        
        //如果射线碰撞到物体
        if(isHit)
        {
                //do something
                Debug.Log(hit.collider);
        }
}


// Draws a line in the scene view going through a point 200 pixels
// from the lower-left corner of the screen
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour{    Camera cam;
    void Start()
    {
        cam = GetComponent<Camera>();
    }
    void Update()
    {
            Ray ray = cam.ScreenPointToRay(new Vector3(200, 200, 0));
            Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);
    }
}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议