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

相关推荐
zach13 小时前
前端落地实战:Next.js 项目 Nginx + PM2 生产部署全流程(附踩坑总结)
前端·pm2·next.js
overmind13 小时前
oeasy教h5前端001 修改的乐趣_直接修改在线网页
前端
只睡四小时13 小时前
JS 手写 D-pad 空间导航:电视端焦点引擎实战
android·开发语言·前端·javascript·ecmascript·hls·空间导航
恋猫de小郭13 小时前
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?
android·前端·flutter
庄园特聘拆椅狂魔13 小时前
从连连看到粒子消散——前端小游戏与视觉特效的技术选型
前端
JudithHuang14 小时前
React 常用 Hooks
前端·react.js·前端框架
sycmancia15 小时前
Qml——Window元素使用
前端
每天都好困15 小时前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困15 小时前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端
警醒与鞭策15 小时前
Direct3D 12 中的内存管理
3d·游戏引擎·direct3d