45. 圆形平面设置纹理贴图

你可以思考下,怎么实现矩形图片剪裁为圆形渲染。

其实很简单,可以通过圆形几何体CircleGeometry创建一个网格模型Mesh,把一张图片作为圆形Mesh材质的颜色贴图,这样就可以把一张方形图片剪裁渲染为圆形效果。

javascript 复制代码
//CircleGeometry的顶点UV坐标是按照圆形采样纹理贴图
const geometry = new THREE.CircleGeometry(60, 100);
//纹理贴图加载器TextureLoader
const texLoader = new THREE.TextureLoader();
const texture = texLoader.load('./texture.jpg');
const material = new THREE.MeshBasicMaterial({
    map: texture,//map表示材质的颜色贴图属性
    side:THREE.DoubleSide,
});
const mesh = new THREE.Mesh(geometry, material);

本质原理

CircleGeometry的UV坐标会对颜色纹理贴图.map进行提取,CircleGeometry的UV坐标默认提取的就是一个圆形轮廓。

相关推荐
三*一21 小时前
基于 Turf.js 实现高精度多边形修整工具(模拟 ArcGIS 修整功能)
开发语言·前端·javascript·arcgis·maobox gl·turf.js
踩着两条虫21 小时前
VTJ.PRO 在线应用开发平台的工作台与后台管理视图
前端·人工智能·ai编程
踩着两条虫21 小时前
VTJ.PRO 在线应用开发平台多平台运行时(Web, H5, UniApp)
前端·低代码·ai编程
ZC1995921 天前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
升鲜宝供应链及收银系统源代码服务1 天前
生鲜配送供应链管理系统源代码之升鲜宝社区团购商城小程序(一)
java·前端·数据库·小程序·notepad++·供应链系统源代码·多门店收银系统
ghhgy5311 天前
Chrome、Edge浏览器显示“由贵组织管理”,删除、解决方法
前端·chrome·edge
533_1 天前
[svg] fill-opacity、stroke-opacity与opacity
前端
九天轩辕1 天前
Chromium 内核深度剖析:HTML 属性解析限制导致的视频静音失效问题
前端·html·音视频
cmdyu_1 天前
Chrome 132+ 篡改猴脚本不生效的排查与解决
前端·chrome
曹牧1 天前
Java:解析Json字符串格式要求
java·linux·运维·前端