【问题标题】:Why Particplesystem Position is wrong while attached to a GameObject?为什么附加到游戏对象时粒子系统位置错误?
【发布时间】:2015-04-17 06:54:09
【问题描述】:

我正在使用 unity 5(2D 项目)。 我将一个粒子系统附加到一个游戏对象(一个 UI 按钮)。现在我可以看到他们两个,但他们不在同一个位置。 我手动移动粒子系统并将两个对象放在相同的位置。但是当我移动我的对象时,它们不会一起移动...粒子系统会移动得更低,对象会有不同的位置。

【问题讨论】:

  • 请记住,有屏幕空间和世界空间 GUI。
  • 如果 Code Clown 是正确的并且您使用的是屏幕空间 GUI,您将需要向您的粒子系统添加一个脚本,该脚本将 GUI 的屏幕位置转换为世界位置,然后转换为粒子系统在每次更新。不要忘记在编辑器中使用类属性执行它。
  • 是的,我在画布中使用“屏幕空间覆盖”。你能告诉我如何将 GUI 的屏幕位置转换为世界位置,然后再转换为粒子系统的本地位置吗?

标签: unity3d


【解决方案1】:

感谢@Code Clown 和@Noel Widmer。 正如我的朋友所说,我应该在每次更新时将 GUI 的屏幕位置转换为世界位置,然后再转换为粒子系统的本地位置。

我是用这两行代码做的。

Vector3 p = Camera.main.ScreenToWorldPoint(GameObject.Find("MyObject").transform.position);
transform.localPosition = p;

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多