我有这个问题,但我解决不了。我已经试着在网上搜索了,但什么也没找到。“射弹产卵”就在我的角色旁边。当我点击鼠标左键时,弹丸开始朝前射(例如,在Z轴上,以20的速度),但是有一个问题让我很生气。有时它从正确的地方开始,有时在每一次点击下和下开始。
public Rigidbody projectile;
public float speed = 20;
private Transform spawnPoint;
private int SPAWN_DISTANCE = 1;
void Awake()
{
spawnPoint = transform.Find("SpawnPoint");
}
void Update ()
{
//
if (Input.GetButtonDown("Fire1"))
{
atkSpeed = 0.2f;
Shoot(projectile);
attackTime = atkSpeed;
chargeLevel = 0;
}
//
}
void Shoot(Rigidbody proj){
Rigidbody _projBody = Instantiate(proj, spawnPoint.position + SPAWN_DISTANCE * transform.forward, transform.rotation) as Rigidbody;
_projBody.velocity = transform.TransformDirection(new Vector3(0, 0,speed));
}正在发生的事情的视频:https://www.youtube.com/watch?v=GLgrfl2zU9w
编辑:我昨天解决了自己的问题。
发布于 2014-12-06 22:40:22
把一个空的GameObject放在你想要的弹丸产生的地方。在开火的角色内部筑巢。
那就去找SpawnPoint。
private Transform spawnPoint;
private int SPAWN_DISTANCE = 1;
void Awake()
{
spawnPoint = transform.Find("SpawnPoint");
}也要改变你的拍摄方式。
void Shoot()
{
Rigidbody _projBody = Instantiate(projectile, spawnPoint.position + SPAWN_DISTANCE * transform.forward, transform.rotation) as Rigidbody;
_projBody.velocity = transform.TransformDirection(new Vector3(0, 0,speed));
}https://stackoverflow.com/questions/27330757
复制相似问题