Three.js教程:自定义顶点UV坐标

用户头像
北京/设计爱好者/3年前/83浏览
Three.js教程:自定义顶点UV坐标
用户头像
xyni202

顶点UV坐标的作用是从纹理贴图上提取像素映射

推荐:将NSDT场景编辑器加入你的3D工具链

https://ted.sinoccdc.cn/

其他工具集: NSDT简石数字孪生

自定义顶点UV坐标
学习自定义顶点UV坐标之前,首先保证你对BufferGeometry的顶点数据、纹理贴图都有一定的理解。
#顶点UV坐标的作用
顶点UV坐标的作用是从纹理贴图上提取像素映射到网格模型Mesh的几何体表面上。
浏览器控制台查看threejs几何体默认的UV坐标数据。
const geometry = new THREE.PlaneGeometry(200, 100); //矩形平面 // const geometry = new THREE.BoxGeometry(100, 100, 100); //长方体 // const geometry = new THREE.SphereGeometry(100, 30, 30);//球体 console.log('uv',geometry.attributes.uv); 复制代码
#纹理贴图UV坐标范围
顶点UV坐标可以在0~1.0之间任意取值,纹理贴图左下角对应的UV坐标是(0,0),右上角对应的坐标(1,1)

#自定义顶点UVgeometry.attributes.uv
顶点UV坐标geometry.attributes.uv和顶点位置坐标geometry.attributes.position是一一对应的,
UV顶点坐标你可以根据需要在0~1之间任意设置,具体怎么设置,要看你想把图片的哪部分映射到Mesh的几何体表面上。
/**纹理坐标0~1之间随意定义*/ const uvs = new Float32Array([ 0, 0, //图片左下角 1, 0, //图片右下角 1, 1, //图片右上角 0, 1, //图片左上角 ]); // 设置几何体attributes属性的位置normal属性 geometry.attributes.uv = new THREE.BufferAttribute(uvs, 2); //2个为一组,表示一个顶点的纹理坐标 复制代码
#获取纹理贴图四分之一
获取纹理贴图左下角四分之一部分的像素值
const uvs = new Float32Array([ 0, 0, 0.5, 0, 0.5, 0.5, 0, 0.5, ]);

作者:yvette
链接:https://juejin.cn/post/7223187660470517816
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0
举报
|
收藏
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
点线连接的科技矢量背景,三维抽象矢量星球,寓意全球化、国际化,球形世界地图
三维户型剖面图
红色喜庆风格的三维产品展台
三维上海城市天际线
三维渲染的简约简洁极简风格几何体场景海报
三维界面科学技术,科幻场景矢量背景图。
三维渲染的流动白色布料透明玻璃背景
实验室三维场景
三维渲染极简空白室外背景
三维渲染红色礼盒
黑暗房间内的金属方块展台,三维渲染
旋转的漩涡和流动的线条,三维渲染
扁平化抽象几何三维模型创意时尚海报
三维渲染炫彩背景
三维渲染的老年医生
矩阵立方体三维空间科技背景
三维渲染城市背景
三维渲染极简北欧风现代家居装饰场景
灰色三角四面体、点线链接构成三维空间科技矢量背景
三维金融创意股票基金金融模型
三维抽象矢量星球,寓意全球化、国际化,球形世界地图,点和线连接的矢量背景
红色三维概念礼盒背景
三维假期旅行主题
三维渲染的年轻女医生
三维渲染抽象波浪流金风格背景
你可能喜欢
相关收藏夹
大家都在看
登录注册