【问题标题】:Unity3D : how can I dynamically create a 3D mesh with a collider based on mouse input?Unity3D:如何根据鼠标输入动态创建带有碰撞器的 3D 网格?
【发布时间】:2020-11-19 02:59:15
【问题描述】:

上下文:我正在制作一个 3D RTS 游戏,并希望通过拖动选择来检测用户正在选择的单位(与您在计算机桌面上选择多个图标的方式相同)

为此,我想使用用户单击时鼠标的初始位置和鼠标的当前位置创建一个 3D 网格。与网格的碰撞表明该单元现在位于选择框中

如何获得创建 3D 网格所需的 8 个点?我知道相机的剪裁平面是一个好的开始,但我不知道如何获得这些值。

如何以不会导致 fps 大幅下降的方式更新网格形状和碰撞器?

【问题讨论】:

    标签: unity3d mesh multipleselection collider


    【解决方案1】:

    如果用鼠标拖动,则不需要复杂的网格。使用带有匹配碰撞器的长方体基元,然后使用对象的缩放来为其提供所需的正确尺寸。这将非常快。 一个巧妙的解决方案是将长方体旋转到与相机相同的角度。 使您的选择对象成为相机对象的子对象可能是有意义的,因此它会随之移动。 然后你只需要一点数学就可以将屏幕或窗口上的鼠标坐标转换为所需的矩形尺寸。实际上,您将通过相机将矩形光束投射到世界上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      相关资源
      最近更新 更多