ray | 射线的起始点和方向。 |
maxDistance | 允许光线命中距离射线起点的最大距离。 |
layerMask | 在投射光线时用来选择性地忽略碰撞器的图层蒙版。 |
queryTriggerInteraction | 指定此查询是否应命中触发器。 |
RaycastHit[] RaycastHit 对象数组。请注意,结果的顺序是未定义的。
将射线投射穿过场景并返回所有命中。请注意,结果的顺序是未定义的。
其他资源:Raycast。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Update() { RaycastHit[] hits; hits = Physics.RaycastAll(transform.position, transform.forward, 100.0F);
for (int i = 0; i < hits.Length; i++) { RaycastHit hit = hits[i]; Renderer rend = hit.transform.GetComponent<Renderer>();
if (rend) { // Change the material of all hit colliders // to use a transparent shader. rend.material.shader = Shader.Find("Transparent/Diffuse"); Color tempColor = rend.material.color; tempColor.a = 0.3F; rend.material.color = tempColor; } } } }
注意: 光线投射不会检测射线原点位于碰撞器内部的碰撞器。
origin | 射线在世界坐标中的起始点。 |
direction | 射线的方向。 |
maxDistance | 允许光线命中距离射线起点的最大距离。 |
layermask | 在投射光线时用来选择性地忽略碰撞器的图层蒙版。 |
queryTriggerInteraction | 指定此查询是否应命中触发器。 |
其他资源:Raycast。
见上文示例。