44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
using UnityEngine;
|
|
|
|
#pragma warning disable 0414
|
|
|
|
namespace uWindowCapture
|
|
{
|
|
|
|
public class UwcRayCastExample : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
Transform from;
|
|
|
|
[SerializeField]
|
|
Transform to;
|
|
|
|
[SerializeField]
|
|
LayerMask layerMask;
|
|
|
|
[SerializeField]
|
|
Vector2 windowCoord;
|
|
|
|
[SerializeField]
|
|
Vector2 desktopCoord;
|
|
|
|
void Update()
|
|
{
|
|
var from2to = to.position - from.position;
|
|
var dir = from2to.normalized;
|
|
var distance = from2to.magnitude;
|
|
var result = UwcWindowTexture.RayCast(from.position, dir, distance, layerMask);
|
|
if (result.hit) {
|
|
Debug.DrawLine(from.position, to.position, Color.red);
|
|
Debug.DrawRay(result.position, result.normal, Color.green);
|
|
windowCoord = result.windowCoord;
|
|
desktopCoord = result.desktopCoord;
|
|
} else {
|
|
Debug.DrawLine(from.position, to.position, Color.yellow);
|
|
windowCoord = new Vector2(-1, -1);
|
|
desktopCoord = new Vector2(-1, -1);
|
|
}
|
|
}
|
|
}
|
|
|
|
} |