gpt4 book ai didi

three.js - 在 3D 中渲染带面的 n 点多边形

转载 作者:行者123 更新时间:2023-12-02 20:16:40 26 4
gpt4 key购买 nike

Three.js 新手。我有多个 n 边多边形要显示为面(我希望多边形面是不透明的)。每个多边形在 3D 空间中面向不同的方向(本质上这些面是某些建筑物的一部分)。

以下是我尝试过的几种方法,但它们不符合要求:

  1. 使用了几何对象并添加了n个顶点并使用了线网格。它将多边形创建为空心多边形。由于我的点数不仅仅是 3 或 4,因此我无法使用 Face3 或 Face4 对象。本质上是一个 Face-n 对象。
  2. 我查看了 WebGL 几何形状示例。形状对象以 2D 和挤压方式工作。示例中的所有对象都在一个平面上。虽然我的要求是每个多边形都有不同的 3D 法线向量。我是否应该使用 2D 形状并注意面部法线并在渲染后旋转 2D 形状。

或者是否有更好的方法来渲染多个具有不透明面且仅包含 x、y、z 顶点的 3D 平面多边形。

最佳答案

只要您的多边形是凸的,您仍然可以使用 Face3 对象。如果你采用一个 n 边多边形,比如说六边形,你可以通过将编号为 (0,1,2) 的顶点作为一个面,将顶点 (0,2,3) 作为另一个面,将顶点 (0, 3,4) 作为其他面,顶点 (0,4,5) 作为最后一个面。我想如果你把它画在纸上你就能明白这个想法。但这仅适用于凸多边形。

关于three.js - 在 3D 中渲染带面的 n 点多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14722039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com