【问题标题】:Scaled prefab instantiating at weird angles and positions以奇怪的角度和位置实例化的缩放预制件
【发布时间】:2019-05-05 14:32:39
【问题描述】:

我有一个缩放的火焰喷射器预制件,我想在武器点实例化它。我的其他预制件(例如简单的子弹和激光)使用相同的脚本可以很好地实例化,但是这个预制件的位置和角度很奇怪。如何解决这个问题?

这是处理角度和实例化的脚本:

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 以获得所需的大小,而不是在预制件的边缘实例化,而是在中心实例化,这就是为什么我觉得它有这个奇怪的位置。

这里是当直射和斜射时,它们都不在玩家武器位置:

https://gfycat.com/EntireGraciousBlueandgoldmackaw

【问题讨论】:

  • 我想这是因为精灵枢轴点。我认为你的角色精灵和火焰精灵都有中心轴点。这样你的火焰精灵位置(它的中心)设置为角色精灵位置(也是中心)。

标签: c# unity3d position


【解决方案1】:

你的子弹对象的轴心点需要改变

现在你的子弹的轴心点在中心,所以当它被你的代码生成和放置时,轴心(也就是中心)结束就在你要求它的地方。问题是,你不希望它在那里。

所以现在你的预制件看起来像这样:

看到中间的环了吗?将其拖到左侧:

把它放在应该与枪管重叠的地方。

并忽略我通过屏幕抓取复制火焰的糟糕尝试

如果定位来自角色精灵的轴心,您可能需要添加偏移量,或者也使用位于枪管上的空游戏对象,但这里的核心原则是因为轴心居中,当您致电Instantiate时,它们将中心到中心对齐

【讨论】:

  • 感谢您建议枢轴更改是我的问题。我想补充一点,因为我为我的火焰喷射器使用了 2D 精灵,所以我无法按照您在 Unity 编辑器中的建议更改枢轴位置。导入精灵时,我只能在精灵编辑器中更改枢轴位置。 :)
  • @StuckInPhD 是的,不同的系统工作方式不同,我不确定您使用的是什么,但我可以在几分钟内使用 uGUI 元素制作模型。
猜你喜欢
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多