射线碰撞检测可以用来检测方向和距离: 通过Physics.RayCast光线投射来实现:常用于射击利用发射的射线来判断、还有对战中刀剑交战中。。
一、要涉及到RayCast和RayCastHit
1.1、光线投射:Physics.RayCast()
static function Raycast (origin : Vector3, direction : Vector3, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers) : bool
返回值也是bool
1.2、RayCastHit() 光线投射检测
用来获取从raycast函数中得到的信息反馈的结构。
二、案例
using UnityEngine; using System.Collections; public class rayCast : MonoBehaviour { private RaycastHit rayHit;//光线投射碰撞:用来获取从raycast函数中得到的信息反馈的结构。 // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Physics.Raycast(transform.position, transform.forward,out rayHit, 10)) { Debug.Log("碰撞检测到第一人称碰撞到了"+rayHit.collider.name); } } }
RayCastHit参数:
Unity3D笔记 英保通十 射线碰撞器检测,布布扣,bubuko.com
原文:http://www.cnblogs.com/PEPE/p/3604399.html