Skip to content

如何重置模型中心点坐标,到模型中央? #37

Discussion options

You must be logged in to vote

有三种办法:

  • 让美术导出模型时就指定开发需要的模型中心点。
  • 如果是特定模型,你可以在编辑器上明确这个模型的偏移坐标大小,通过放置在父节点上将这个偏移矫正回来。
  • 如果是很多模型,你可以通过动态计算包围盒中心的方式,包围盒中心与原点的偏移,应该就是这个模型的偏移坐标大小,你可以通过放置在父节点上将这个偏移矫正回来。

下方为获取模型中心点的代码

const renderers = entity.getComponentsIncludeChildren(MeshRenderer, []);
    const boundingBox = renderers[0].bounds.clone();
    for (let i = renderers.length - 1; i > 0; i--) {
      BoundingBox.merge(boundingBox, renderers[i].bounds, boundingBox);
    }
    // 模型中心点
    boundingBox.getCenter(new Vector3());

建议让美术导出时指定模型中心点。

Replies: 2 comments

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Answer selected by cptbtptpbcptdtptp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Engine
Labels
None yet
2 participants