탄알 콜라이더
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
PlayerManager playerManager = other.GetComponent<PlayerManager>();
if(playerManager != null)
{
playerManager.TakeDamage();
}
}
}
탄알 날라가기
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class Bullet : MonoBehaviour
{
[Header("발사 힘 설정")]
[Tooltip("최소 힘(Impulse)")]
public float minForce = 5f;
[Tooltip("최대 힘(Impulse)")]
public float maxForce = 15f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
// Player 태그를 가진 오브젝트를 찾음
GameObject player = GameObject.FindGameObjectWithTag("Player");
if (player != null)
{
// 플레이어 방향 계산
Vector3 dirToPlayer = (player.transform.position - transform.position).normalized;
// 무작위 힘 선택 후 발사
float randomForce = Random.Range(minForce, maxForce);
rb.AddForce(dirToPlayer * randomForce, ForceMode.Impulse);
}
// 10초 뒤 총알 파괴
Destroy(gameObject, 10f);
}
}