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;
相关推荐
Aurora@Hui1 天前
WebGL & Three.js
webgl
lambert.wang2 天前
当使用 uv 下载 Python 解释器时出现异常,通常是因为网络连接问题导致无法从 GitHub 下载安装包
python·github·uv
叼奶嘴的超人2 天前
Fastapi之UV安装方式与使用方式
fastapi·uv
CC码码3 天前
基于WebGPU实现canvas高级滤镜
前端·javascript·webgl·fabric
Yang-Never3 天前
Open GL ES -> 应用前后台、Recent切换,SurfaceView纹理贴图闪烁问题分析解决
android·开发语言·kotlin·android studio·贴图
ct9783 天前
WebGL 图像处理核心API
图像处理·webgl
lambert.wang3 天前
uv安装配置
uv
永霖光电_UVLED4 天前
连续波 UV-B 激光二极管问世,实现全球首次
大数据·人工智能·uv
要站在顶端4 天前
uv 工具核心操作总结文档
uv
枫叶是圆的4 天前
uv-ui组件的Tabbar 底部自定义导航栏 中间按钮凸起
uv