Three.js 获取模型顶点数据

发布于 2021-10-18 21:01:12 字数 1500 浏览 1849 评论 0

通过 Three.js 访问或获取模型的顶点数据,也就是获得模型绑定几何体的顶点数据,比如一个网格模型Mesh,首先需要通过网格模型的几何体属性Mesh.geometry访问模型对应的几何体,然后查看几何体几何体的类型,对于 Three.js 而言有两种几何体类型 GeometryBufferGeometry,一般来说Three.js加载外部stl、obj、fbx、GLTF等模型,解析后返回的模型对象所包含的几何体对象一般是缓冲类型几何体 BufferGeometry

访问几何体BufferGeometry的顶点数据,可以通过.attributes.index两个属性访问顶点数据,.index属性是几何体的顶点索引数据,如果没有顶点索引数据就返回null。除了顶点索引数据意外的数据都通过几何体BufferGeometry.attributes属性实现,比如顶点位置坐标BufferGeometry.attributes.position,顶点UV坐标BufferGeometry.attributes.uv,顶点法向量BufferGeometry.attributes.normal
访问.index.position.uv等属性,如果存在相应的顶点数据,返回的都是一个BufferAttribute对象,BufferAttribute对象.array属性就是顶点数据构成的类型化数组,比如Float32ArrayInt16Array

// 访问网格模型第一个顶点位置的x坐标分量
mesh.geometry.attributes.position.getX(0)
// 访问网格模型第一个顶点位置的y坐标分量
mesh.geometry.attributes.position.getY(0)
// 访问网格模型第一个顶点位置的z坐标分量
mesh.geometry.attributes.position.getZ(0)

访问几何体 Geometry 的顶点数据,如果是顶点位置数据可以通过.vertices属性实现,如果是访问纹理UV坐标通过.faceVertexUvs属性实现,如果是顶点颜色数据,要具体具体分析,如果是点或线模型对象,可以通过 .colors 属性访问,如果是网格模型Mesh需要访问三角形属性.faces.faces属性也包含了网格模型中三角形顶点坐标数据,顶点坐标数据是通过顶点索引指向.vertices属性。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

瑾兮

暂无简介

0 文章
0 评论
21356 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文