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