Unity的Raycast函数有一个参数可用于光线投射到特定的GameObject.您还可以使用该参数来忽略特定的GameObject.
例如,Raycast功能:
public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
Run Code Online (Sandbox Code Playgroud)
该layerMask参数用于指定哪些对象应该/不应该接收光线投射.
1.如何光线投射到名为"立方体"的图层中的特定 GameObject?
2.如果你在场景中有10个 GameObjects,但是你只想光线投射到2个 GameObjects并忽略其余的那些?你是怎样做的?
假设那些对象的层是"立方体"和"球体".
3.如果你想要对所有 GameObjects 进行光线投射但忽略1,那该怎么办?
假设要忽略的GameObject位于"立方体"层中.
4.如果你想要对所有 GameObjects 进行光线投射但忽略2个(多个)GameObjects,那该怎么办?
同样,要忽略的层是"立方体"和"球体"层.