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坐标默认提取的就是一个圆形轮廓。

相关推荐
王霸天几秒前
🚨 还在用 rem) 做大屏适配?用 vfit.js 一键搞定,告别改稿8版的噩梦!
前端·vue.js·数据可视化
魔士于安3 分钟前
unity 低多边形 动物 带场景 有氛围感
游戏·unity·游戏引擎·贴图
文心快码BaiduComate14 分钟前
Comate AI IDE三大能力升级:支持语音输入& AI可操作浏览器 & Figma设计与代码双向转换
前端·后端·程序员
coder_Eight26 分钟前
LRU 缓存实现详解:双向链表 + 哈希表
前端·算法
1024小神32 分钟前
kotlin安卓项目配置app横屏等方式
前端
Cxiaomu35 分钟前
React + Node.js 实战:用豆包端到端实时语音大模型 API 落地web纯语音助手
前端·react.js·node.js
Electrolux35 分钟前
2026年了,你敢信一些知名的开源库都还不会正确使用防抖节流吗
前端
Beginner x_u38 分钟前
前端八股整理|JavaScript|高频小题 01
开发语言·前端·javascript
Flutter笔记39 分钟前
如何在本地跑 Core ML 模型识别呼噜声,并用 iCloud 优雅同步?
前端·人工智能·程序员
Greg_Zhong40 分钟前
前端测试的学习阶段,由基础到进阶的过程认识.....
前端·前端、专业测试结合