Unity——子弹跟踪
在射击类游戏中,会经常遇到需要子弹自动跟踪的功能需求,考虑用简单的方法,实现一个子弹自动跟踪的效果。
重点实现逻辑功能,对于子弹的发射器的prefabs的设计不重点考虑,只使用简单的cube等3D物体来模拟子弹、发射器、目标。
实现思路
自动跟踪,即子弹的朝向始终面对目标物。
子弹的位置和朝向都跟随时间进行变化,最终到达目标物处。
代码实现
创建发射器
创建一个cube作为发射器,添加一个shot脚本,每2秒发射一个子弹。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class shot : MonoBehaviour
{
public GameObject missile; // 子弹
float currentTime;
void Update()
{
currentTime += Time.deltaTime;
if (currentTime > 2)
{
currentTime = 0;
GameObject m = GameObject.Instantiate(missile);
m.transform.localPosition = Vector3.zero;
m.SetActive(true);
}
}
}