微信小程序最新大招——xr-frame尝鲜,模拟真实质感
发布网友
发布时间:2024-10-05 02:29
我来回答
共1个回答
热心网友
时间:2024-11-04 07:36
本文详细讲解微信小程序最新大招——xr-frame尝鲜,其中xr-frame提供了在standard material下的uniforms参数,用于提供更加真实的模拟物体材质。不论粗糙、光滑还是有透明图层甚至是自发光,都可以实现*真的质感模拟。
首先,我们通过官方demo展示gltf的质感实现,可以看到其质感非常*真。接下来,我们开始讲解实现过程。在讲解实现之前,我们需要复习几个基础概念:material(材质)、effect(效果)、texture(纹理)、uniforms(材质属性)。texture仅表示物体外观的贴图,如纯色、图片或视频。material表示物体的诸多外观和表现属性,包括颜色、透明度、反射率、光照、纹理等。effect表示一种特效或视觉效果,如闪烁、水流、烟雾。在xrframe中,目前可用的effect有:简单无光照效果的simple和标准物理渲染效果的standard。uniforms是一个参数列表,对渲染时需要的诸多参数进行定义。
在实现过程中,我们主要讲解标准effect支持的参数。我们首先定义标准effect的material,之后为gltf的底座增加金属粗糙的质感。物体的表面质感参数定义在xr-mesh的uniforms属性中,为key: value的形式,多个属性用逗号分割。
接下来,我们详细讲解xrframe支持的uniforms参数。包括基础色、金属度粗糙度、法线、自发光、环境光遮蔽、透明剔除、清漆效果、高光反射与光泽度等参数。
基础色参数定义了物体表面颜色或图片。金属度粗糙度参数控制物品是更像塑料还是金属,以及表面的漫反射和镜面反射。法线参数用于解决物体表面复杂的凹凸效果。自发光参数表示物体本身的发光效果。环境光遮蔽参数表示物体哪些部位不反射环境光,只影响漫反射不影响镜面反射。透明剔除参数用于剔除低于某透明度的像素。清漆效果参数可以认为是往物体表面添加透明涂层。高光反射与光泽度参数与金属度粗糙度相对,控制物体对光的反射比例和表面光滑程度。
最后,关于金属度粗糙度和高光反射与光泽度的对比可以参考相关文章。各项参数的更多说明可以参考unity手册-材质参数。