Three.js---纹理贴图

贴图分类API

在这里插入图片描述

纹理贴图

通过加载器TextureLoader的load方法加载一张图片返回一个纹理对象Texture,纹理对象Texture作为模型材质颜色贴图.map属性的值。

// 纹理贴图映射到一个矩形平面上
var geometry = new THREE.PlaneGeometry(204, 102); //矩形平面
// TextureLoader创建一个纹理加载器对象,可以加载图片作为几何体纹理
var textureLoader = new THREE.TextureLoader();
// 执行load方法,加载纹理贴图成功后,返回一个纹理对象Texture
textureLoader.load('Earth.png', function(texture) {
   
  var material = new THREE.MeshLambertMaterial({
   
    // color: 0x0000ff,
    // 设置颜色纹理贴图:Texture对象作为材质map属性的属性值
    map: texture,//设置颜色贴图属性值
  }); //材质对象Material
  var mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh
  scene.add(mesh); //网格模型添加到场景中

  //纹理贴图加载成功后,调用渲染函数执行渲染操作
  // render();
})

在这里插入图片描述

几何体顶点纹理坐标UV

UV是纹理贴图的图像的坐标,用于将贴图和模型的顶点坐标一一对应,从而确定映射关系。贴图图片在0~1之间,在贴图上以坐标取点,再将点映射到几何体上。

faceVertexUvs[0].set(x,y)可设置对应贴图(x,y)位置的像素值。

 //矩形平面,细分数默认1,即2个三角形拼接成一个矩形
var geometry = new THREE.PlaneGeometry(204, 102);
...
/**
 * 遍历uv坐标
 */
geometry.faceVertexUvs[0].forEach(elem => {
   
  elem.forEach(Vector2 => {
   
    // 所有的UV坐标全部设置为一个值
    Vector2.set(0.4,0.4);
  
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
three.js中,纹理贴图是用来给物体表面添加图案、颜色或者其他视觉效果的一种技术。你可以使用纹理贴图来增强场景的真实感和细节。在three.js中,你可以使用TextureLoader类来加载纹理图像\[2\]。加载纹理图像后,你可以将其应用到材质中,例如MeshBasicMaterial或者RawShaderMaterial\[2\]。在应用纹理贴图时,你可以使用一些常用的属性来调整纹理的效果。例如,你可以使用offset属性来设置纹理的偏移量,center属性来设置纹理的旋转中心点,rotation属性来设置纹理的旋转角度,repeat属性来设置纹理的重复次数\[3\]。此外,你还可以使用wrapS和wrapT属性来设置纹理在水平和竖直方向的重复方式,magFilter和minFilter属性来设置纹理的显示方式\[3\]。在three.js中,常用的纹理种类包括普通贴图、凹凸贴图、法线贴图、位移贴图、金属光泽度贴图、Alpha贴图、自发光贴图、高光贴图和环境贴图\[1\]。你可以根据需要选择适合的纹理种类来实现你想要的效果。 #### 引用[.reference_title] - *1* *2* *3* [threejs-纹理贴图](https://blog.csdn.net/qq_37987033/article/details/126533553)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值