找到播放器和相机之间的所有对象

时间:2016-09-04 17:46:42

标签: unity3d

我正在使用相机的正投影跟随玩家。我想找到播放器和相机之间的所有游戏对象,这样我就可以改变不透明度,使它们在阻挡相机视图时部分透明。我读到了有关光线投射的内容,但它似乎只能给出播放器和相机之间的第一个对象。有什么方法可以实现这个目标?

1 个答案:

答案 0 :(得分:1)

只需像这样使用Physics.RaycastAll

public class CameraScript : MonoBehaviour
{
    //Attach this script to the camera//

    public GameObject player;

    void Update()
    {
        float dist = Vector3.Distance(transform.Position, player.transform.position);
        RaycastHit[] hits = hits = Physics.RaycastAll(transform.position, 
                                                      transform.forward, 100.0F);
        foreach (RaycastHit h in hits)
        {
            //Change the opacity of the of each object to semitransparent.
        }
    }
}