ray | 光线的起点和方向。 |
maxDistance | 从射线起点开始,允许射线命中的最大距离。 |
layerMask | 层遮罩,用于在投射射线时有选择地忽略碰撞体。 |
queryTriggerInteraction | 指定该查询是否应该命中触发器。 |
向场景中投射射线并返回所有命中对象。注意,不保证顺序。
另请参阅: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; } } } }
注意:对于射线投射起点位于碰撞体内的情况,Raycast 不会检测到碰撞体。
origin | 射线在世界坐标系中的起点。 |
direction | 射线的方向。 |
maxDistance | 从射线起点开始,允许射线命中的最大距离。 |
layermask | 层遮罩,用于在投射射线时有选择地忽略碰撞体。 |
queryTriggerInteraction | 指定该查询是否应该命中触发器。 |
另请参阅:Raycast。
见上面的示例。