Unity 5 使用光线投射不断检查视线内的碰撞体

本文关键字:视线 碰撞 检查 光线投射 Unity | 更新日期: 2023-09-27 18:30:46

我正在开发一个unity 5游戏。当我走过某个碰撞机时,音频开始播放。我正在尝试制作一个脚本,以便在音频播放并且我的视野中心碰到碰撞体周边时,音频将停止播放,或者在这种情况下,播放不同的声音。这是我的脚本:

using UnityEngine;
using System.Collections;
public class Raycast: MonoBehaviour {
 private RaycastHit hit;
 private float range = 300;
 // Use this for initialization
 void Start() {}
 // Update is called once per frame
 void Update() {
  checkforinput();
 }
 void checkforinput() {
  if (Input.GetButtonDown("Fire1")) {
   if (Physics.Raycast(transform.position, transform.forward, out hit, range)) {
    print(hit.transform.name);
    //source.Stop();
   }
  }
 }
}

那么,如何在不点击 fire1 按钮的情况下不断执行此操作呢?

Unity 5 使用光线投射不断检查视线内的碰撞体

更改此内容

if (Input.GetButtonDown("Fire1")) {
    if (Physics.Raycast(transform.position, transform.forward, out hit, range)) {
    print(hit.transform.name);
    //source.Stop();
    }
}

对此:

if (Physics.Raycast(transform.position, transform.forward, out hit, range)) {
    print(hit.transform.name);
    //source.Stop();
}

请注意,

if (Input.GetButtonDown("Fire1"))

正在检查鼠标输入。 如果它是真的,那么"如果"块中的任何内容都将运行。