1、需要射线检测的物体先加个collider组件,方便射线检测到
2、第一种方式通过获取点击UI界面的UI坐标A,将A转换为RawImage的相对坐标B,再将B转为映射相机的视口(Viewport)坐标C,然后在映射相机发射射线对穿过的物体进行检测
代码如下:
using UnityEngine;
using UnityEngine.UI;
public class TestRenderTexture : MonoBehaviour
{
// 点击RawImage时,相对RawImage自身的坐标
private Vector2 ClickPosInRawImg;
// 画布
public Canvas Canvas;
// 预览映射相机
public Camera PreviewCamera;
public RawImage PreviewImage;
public Camera UiCamera;
private Vector3 MousePos;
void Start(){}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
MousePos = Input.mousePosition;
}
if (MousePos != null)
{
CheckDrawRayLine(Canvas, Input.mousePosition, PreviewImage, PreviewCamera);
}
}
/// <summary>
/// 射线投射
/// </summary>
/// <param name="canvas">画布</param>
/// <param name="mousePosition">当前Canvas下

最低0.47元/天 解锁文章
3305

被折叠的 条评论
为什么被折叠?



