弹丸Y轴起始位置 - 2.5D平台
本文关键字:5D 平台 位置 弹丸 | 更新日期: 2023-09-27 18:33:29
我有这个问题,我无法解决它。我已经尝试在互联网上搜索,但一无所获。"弹丸生成"位于我的角色旁边。当我左键单击鼠标时,弹丸开始向前射击(例如,在 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
编辑:我昨天解决了自己。
将一个
空游戏对象放在您希望从中生成射弹的位置。将其嵌套在触发的角色中。
然后找到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));
}