我试图使它,当‘球员’与球碰撞时,一个音频样本触发。我不明白为什么触发器会在我的代码和检查器上消失。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TriggerSFX : MonoBehaviour
{
private AudioSource audioSource;
public AudioClip kicked;
void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.tag == "Player")
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = kicked;
audioSource.Play();
}
}
}

碰撞球和球员在现场应该触发音频剪辑,但它没有。
发布于 2022-03-27 04:05:20
尝试使用audioSource.PlayOneShot(kicked);而不是audioSource.clip = kicked; audioSource.Play();
发布于 2022-03-27 07:18:11
我已经测试了你的代码和检查员。那些很好用。确保Collider和Rigidbody组件已经添加到目标游戏对象(带有Player标记的游戏对象),并且没有在Collider组件上检查is trigger。还检查目标游戏对象的标记。
https://stackoverflow.com/questions/71633296
复制相似问题