我有一个比例缩放的喷火器预制件,想在武器处实例化。我的其他预制件,例如简单的子弹和激光,都可以使用相同的脚本实例化,但是该预制件具有奇怪的位置和角度。该如何解决?
以下是处理角度和实例化的脚本:
public class FlameThrowerGun : MonoBehaviour
{
public GameObject theFlame;
bool isFiring = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
SetPlayerRotation();
if (Input.GetButtonDown("Fire"))
{
Shoot();
}
}
void SetPlayerRotation()
{
if (Input.GetKey(KeyCode.W))
{
transform.rotation = Quaternion.Euler(0, 0, 45);
}
else if (Input.GetKey(KeyCode.S))
{
transform.rotation = Quaternion.Euler(0, 0, -45);
}
else
{
transform.rotation = Quaternion.Euler(0, 0, 0);
}
}
void Shoot()
{
GameObject bullet_ = Instantiate(theFlame, transform.position, transform.rotation * Quaternion.Euler(0f, 0f, -90f));
Destroy(bullet_, 1.0f);
}
}
将* Quaternion.Euler(0f, 0f, -90f)
放在此处以正确的角度实例化火焰。
我要补充的是,火焰预制件已缩放到y=2
以获得所需的大小,而不是在预制件的边缘实例化,而是在中心实例化,这就是为什么我觉得它很奇怪位置。
这里是直射并倾斜射击时,都不在玩家武器位置: