【问题标题】:How Does Unity Assign Pivot Point Location on Script Generated MeshesUnity 如何在脚本生成的网格上分配枢轴点位置
【发布时间】:2017-09-09 16:37:11
【问题描述】:

我试图找到有关 Unity 如何将枢轴点分配给对象的任何信息,但我一直在寻找关于如何移动枢轴点的线程并且无法完成。我正在创建一个 2D 游戏,其背景是使用包含在空 GameObjects 中的网格随机创建的。这些对象是有机形状的,但它们具有返回一个矩形的属性,该矩形限制对象,以便它们可以以不重叠的方式放置。问题在于该算法假定枢轴点将成为对象的中心。我想知道的是Unity如何决定将枢轴点设置在哪里,以便我可以预测我需要在父对象内移动多少网格以使枢轴点位于边界的中心长方形。

【问题讨论】:

    标签: unity3d mesh gameobject


    【解决方案1】:

    可能的修复:

    尝试在运行时创建网格,看看它是否总是将枢轴点放置在某个角落或至少相对而言是相同的位置。

    如果这样做,您将知道轴心点在哪里,并且可以在您的代码中将其考虑在内,如果您还知道生成的网格的大小。

    【讨论】:

    • 是的,这也是我的第一个想法,但这种模式似乎并不明显。如果解决任何问题,我会发布解决方案。
    【解决方案2】:

    所以我认为我能想出的最普遍和正确的答案是统一将轴心点分配给您应用网格的游戏对象的中心。网格顶点的局部坐标取决于您创建它们的方式,可能会放置网格,使其逻辑中心与其附加的空游戏对象的逻辑中心不同。我为解决这个问题所做的工作是制作一个从局部点 (0,0,0) 到边界矩形中心的向量,并转换我用来通过该向量反转我的网格的顶点。它并不完美,但足够接近以确保我不会有任何重叠的网格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      相关资源
      最近更新 更多