【Three.js基础学习】6.Textrue

本文介绍了Three.js中纹理的概念,包括金属属性、法线、伪阴影、粗糙度等,详细讲解了纹理加载、UV展开、MIP映射和过滤器设置,以及纹理格式和优化的重要性。此外,还提到了如何使用LoadingManager跟踪加载进度和处理纹理效果的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

这段时间没有继续学习,因为清明前公司有个项目把我调到别的项目组帮忙,紧急开发静态页面到甲方展示,上周六加到周三,有点烦躁!还是复习一下纹理的内容 ,以及three.js中各种IPA的应用概念。

课程要点:

    1.关于纹理的概念:

    METALNESS:金属性创建反射等

    normal:法线纹理 与光照有关

    AMBIENT OCCLUSION : 灰度图像,伪阴影

    ROUGHNESS :粗糙度  与光的消失有关

    纹理遵循原则: PBR原则,  物理的渲染(Physically Based Rendering)的缩写

    PBR:主要与金属性和粗糙度有关

    2.如何加载纹理

    TextureLoader // 纹理加载器

    需要了解纹理加载的进度?

    LoadingManager //    加载管理器 用于管理纹理加载的进度,或状态

    方法:onStart  onLoad  onProgress  onError

    3.uv展开

    概念:纹理放到几何体上不是随机的,坐标什么的都是有人定好的

    uv展开之后 会有uv坐标 2*2

    这里可以用缓冲几何体,展示 BoxBufferGeometry()

    4.当我们生成纹理,放到材质之后

    有很多的方法去设置纹理

    5.过滤和MIP映射

    概念:如果我们放大画面,近距离看我们的立方体,会发现纹理是模糊的,这种发生的现象就是

    MIP会发生空间映射,举个例子:GPU对我们的立方体纹理,生成一般的宽高的图片,然后不断重复下去,直到最小值

    6.两种算法 缩小过滤器,放大过滤器实现MIP (在纹理中)

    minFilter , 默认参数是线性,mipmap,线性滤镜

    magFilter ,

    用法: minFilter =  THREE.NearestFilter


 

    THREE.NearestFilter

    THREE.LinearFilter

    THREE.NearestMipmapNearestFilter

    THREE.NearestMipmapLinearFilter

    THREE.LinearMipmapNearestFilter(default)

    THREE.LinearMipmapLinearFilter

    7.纹理格式和优化

    三件事情:纹理的权重,文件的权重,图像的大小,就是分辨率;以及该纹理的数据

    前提:

    文件的大小:最好更小,更好; 可以通过图片压缩来得到更小的图片 如:TinyPNG

    尺寸:GPU能力有限,需要调整纹理,尽可能的小的纹理

    数据:数据存储在像素中,我们需要精确的方向,jpg:有损的,png:数据无损的

    难点在于找到纹理格式和分辨率的正确组合,不然会有很糟糕的性能,画面等

    8.纹理的网站

    poliigon.com

    3dtexture.me

    arroway-textures.ch

    9.制作纹理

    ps    Subs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值