Skip to main content

uloop-raycast

Raycast from Camera.main through a Game View coordinate. Use when you need to check what a screenshot coordinate would hit in 3D physics before clicking or long-pressing with simulate-mouse-input.

来源信息

仓库
Haruma-K/UnityScreenNavigator
最近来源活动
2026年8月18日 12:58
检测到的 SKILL.md 语言
英语
星标
1,123
分支
107

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
uloop-raycast
description
Raycast from Camera.main through a Game View coordinate. Use when you need to check what a screenshot coordinate would hit in 3D physics before clicking or long-pressing with simulate-mouse-input.
# npx --yes uloop-cli@2.2.0 raycast Check what a top-left Game View coordinate hits in 3D physics. ## Usage ```bash npx --yes uloop-cli@2.2.0 raycast --x <x> --y <y> [--layer-mask <mask>] [--max-distance <distance>] ``` ## Parameters | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | `--x` | number | `0` | Target X position in Game View pixels (origin: top-left). Use `AnnotatedElements[].SimX`, `RaycastGridPoints[].InputX`, or raw image pixels converted with `ScreenshotToInputFormula`. | | `--y` | number | `0` | Target Y position in Game View pixels (origin: top-left). Use `AnnotatedElements[].SimY`, `RaycastGridPoints[].InputY`, or raw image pixels converted with `ScreenshotToInputFormula`. | | `--layer-mask` | number | Unity default raycast layers | Physics layer mask used by the raycast. | | `--max-distance` | number | `1000` | Maximum raycast distance in world units. | ## Coordinate System - `--x` / `--y` use the same top-left Game View input coordinates as `simulate-mouse-input`. - Raw image pixels from `npx --yes uloop-cli@2.2.0 screenshot --capture-mode rendering` must be converted with `ScreenshotToInputFormula`. - `AnnotatedElements[].SimX/SimY` and `RaycastGridPoints[].InputX/InputY` can be passed directly to this tool. - Do not flip Y in the caller. The tool converts internally: ```text unity_x = input_x unity_y = gameViewHeight - input_y ``` ## Examples ```bash # Check what is under a screenshot coordinate npx --yes uloop-cli@2.2.0 raycast --x 960 --y 540 # Check only specific layers npx --yes uloop-cli@2.2.0 raycast --x 960 --y 540 --layer-mask 1 ``` ## Output Returns JSON with: - `Success`: Whether the command completed - `Message`: Status message - `Hit`: Whether physics hit anything - `HitGameObjectName` / `HitGameObjectPath`: Hit object identity when `Hit` is true - `HitLayer` / `HitLayerName`: Hit object layer when `Hit` is true - `Distance`, `HitPointX/Y/Z`, `HitNormalX/Y/Z`: Hit details when `Hit` is true - `InputCoordinateSystem`, `UnityCoordinateSystem`, `GameViewWidth/Height`, `InputPositionX/Y`, `InjectedUnityPositionX/Y`, `CoordinateConversionFormula`: Coordinate conversion details ## Notes - Requires an active `Camera.main`. - Uses Unity Physics raycasts, not UI EventSystem raycasts.
在 GitHub 查看