threejs ShapeGeometry 自定义贴图的uv坐标

问题描述:

由于一些原因,要绘制一个长方形,但是这个长方形并不是 PlaneGeometry,而是一个ShapeGeometry。但是同样的贴图,同样的形状,贴图贴在PlaneGeometry上时可以正常显示,但是贴在ShapeGeometry中却不可以正常显示。所以判断是贴图uv坐标问题。

问题排查:

PlaneGeometry默认顶点坐标和uv坐标对应关系如下,其中点1,2,3,4为geometry的vertex顺序

ShapeGeometry默认顶点坐标和uv坐标对应关系如下:

我们看到,uv是这样的,和他的顶点坐标是一致的,但是实际上,我们希望uv的对应关系和PlaneGeometry是一致的。所以我们手动修改uv和顶点的对应关系

解决办法:

javascript 复制代码
const uvs = [];

uvs.push(0, 1);
uvs.push(1, 1);
uvs.push(1, 0);
uvs.push(0, 0);

groud.geometry.setAttribute('uv', new THREE.Float32BufferAttribute(new Float32Array(uvs), 2));
groud.geometry.getAttribute('uv').needsUpdate = true;
相关推荐
摄影图16 小时前
科技企业研发宣传图片素材 适配多场景宣传使用需求
大数据·人工智能·科技·aigc·贴图·插画
摄影图18 小时前
AI设计实用图片素材 适配多元创作推广需求
人工智能·科技·智能手机·aigc·贴图
:mnong2 天前
PlayCanvas 开源 WebGL/WebGPU 3D 创作平台分析
3d·开源·webgl
摄影图3 天前
太空站宇宙地球高清素材 适配科普宣传多类创作需求
科技·aigc·贴图·插画
摄影图4 天前
蓝色光效科技背景图片素材 多场景设计
人工智能·科技·aigc·贴图·插画
codingxb454 天前
【Python】uv基础使用
python·uv
CG_MAGIC4 天前
Enscape 新手从零到出图全流程
3d·贴图·uv·建模教程·渲云渲染
輕華4 天前
uv工具详解——Python包与项目管理器完全指南
开发语言·python·uv
SCLchuck5 天前
UE5 地形材质UV
ue5·材质·uv
Westward-sun.5 天前
uv入门笔记
笔记·uv