react-three/postprocessing库的参数中文含义使用解析

 更新时间:2022年05月28日 08:54:22   作者:何如薄倖錦衣郎  
这篇文章主要介绍了react-three/postprocessing库的参数中文含义使用总结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、react-three/postprocessing--处理效果的库

简而言之:包装效果 该库提供了一个 EffectPass,可自动组织和合并任何给定的效果组合。这最大限度地减少了渲染操作的数量,并且可以组合许多效果,而不会受到传统传递链接的性能损失。此外,每个效果都可以选择自己的混合功能。 后处理还支持开箱即用的 srgb 编码,以及 WebGL2 MSAA(多样本抗锯齿),这是 react-postprocessing 的默认设置,您可以获得高性能的清晰结果,而不会出现锯齿状边缘。

二、提供的组件

<EffectComposer>//...//</EffectComposer>

效果处理器,包裹添加的效果组件,比如光照效果Light 景深组件等等

参数:

<EffectComposer
  enabled?: boolean
  children: JSX.Element | JSX.Element[]
  depthBuffer?: boolean  /** 深度缓冲区 。深度缓冲区记录着屏幕对应的每个像素的深度值。
通过深度缓冲区,可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确。这是深度缓冲最主要的作用。*/
  disableNormalPass?: boolean  /**是否禁用NormalPass,NormalPass可以在已经渲染出来的影像中中创建模拟反射环境光的效果 */
  stencilBuffer?: boolean //模板缓冲区
  autoClear?: boolean //自动clear
  multisampling?: number
  frameBufferType?: TextureDataType
  /** For effects that support DepthDownsamplingPass */
  resolutionScale?: number //分辨率尺cun
  renderPriority?: number  //渲染优先级
  camera?: THREE.Camera
  scene?: THREE.Scene
>

<DepthOfField />景深效果组件

作用:"景深"是指当焦距对准某一点时,其前后都仍可清晰的范围。拍照时景深越大,景深范围内所有画面的轮廓依然清晰,从近到远全部清晰,相反景深值小了清晰的单位就小,前景背景是模糊的 贴两个对比图

参数

官网示例:<DepthOfField focusDistance={0} focalLength={0.02} bokehScale={2} height={480} />

  • focusDistance:对焦距离
  • focalLength: 焦距 ,关于对焦距离和焦距的区别看文末补充介绍就好
  • bokehScale: 虚化比例
  • height :高度
  • width:宽度
  • blur:number:模糊度
  • depthTexture:{texture: Texture; packing: number;};:纹理

<Bloom /> 光晕效果组件

参数

官网示例 <Bloom luminanceThreshold={0} luminanceSmoothing={0.9} height={300} />

  • luminanceThreshold: 亮度阈值 默认0.9 在[0,1]之间取值
  • luminanceSmoothing:亮度平滑 默认00.025 在[0,1]之间取值
  • height:高度
  • width: 宽度
  • intensity: 强度 默认是 1
  • kernelSize: 内核大小 一般用不上
  • opacity: 不透明度,指定了一个元素后面的背景的被覆盖程度。

<Noise /> 噪点效果组件

官网示例 <Noise opacity={0.02} />

作用:类似于“颗粒”效果,俗话说给一个图片降噪,就是设置这个组件并添加参数值 参数

  • premultiply:boolean 默认false 噪点的预乘功能 噪声是否应与输入颜色相乘。 比如有了亮度 设置它为true,图片会更亮
  • opacity: 不透明度,指定了一个元素后面的背景的被覆盖程度。

<Vignette /> 晕影,虚化效果组件

官网示例

Vignette eskil={false} offset={0.1} darkness={1.1} />

参数

  • eskil Boolean 默认false 如果offset值大于1,那么这里必须设置为true,不然图片可能会有个黑洞
  • blendFunction BlendFunction 默认BlendFunction.NORMAL.
  • offset Number 默认0.5 偏移量
  • darkness Number 默认0.5 好比一个图片,设置了虚化,这个值越大,图片的四个角的黑色越大

<ToneMapping/> 一种色调映射效果组件

示例及参数:

<ToneMapping
    //blendFunction={BlendFunction.NORMAL} // blend mode
    adaptive={true} // 切换自适应亮度图用法 默认为true
    resolution={256} // texture 亮度的分辨率。默认256。
    middleGrey={0.6} // 中间灰色值 默认0.6
    maxLuminance={16.0} // 最大亮度  默认16
    averageLuminance={1.0} // 平均亮度 默认1
    adaptationRate={1.0} // 亮度适应率  默认1
  />

<HueSaturation />色彩饱和度

示例:

<HueSaturation hue={0} saturation={0}
  />

参数

  • hue:色调,色调偏移,弧度 默认是0
  • saturation: 饱和度数 饱和度值,单位为弧度,默认是0

<Grid/>网格效果组件

示例及参数

<Grid
   // blendFunction={BlendFunction.OVERLAY} // blend mode
    scale={1.0} // 网格图案比例 默认1
    lineWidth={0.0} // 网格图案的线宽 默认0
    size={{ width, height }} // 覆盖默认的通道(pass)的宽度和高度 无默认
  />

<GodRays>辐射线

示例及默认参数及参数默认值

 <GodRays
    sun={sunRef} //光源。必须不写深度,并且必须被标记为透明。
    blendFunction={BlendFunction.Screen} // 这种效果的混合功能。
    samples={60} // 每个像素的样本数。
    density={0.96} //  光线的密度。
    decay={0.9} // 衰变 照明衰减系数
    weight={0.4} // 光线权重
    exposure={0.6} // 曝光  一个曝光系数。
    clampMax={1} // 整体效果的饱和度的上限。
    width={Resizer.AUTO_SIZE} // Render width.
    height={Resizer.AUTO_SIZE} // Render height.
    kernelSize={KernelSize.SMALL} // 模糊的内核大小。如果模糊功能被禁用,则没有影响。
    blur={true} // 雾化效果的光照是否应该被模糊化以减少伪影。
  />

补充:下面介绍下对焦距离和焦距

对焦距离和焦距

对焦距离:是指镜头最前端镜片与拍摄物体的距离。
对焦距离:就是您的相机在拍摄物体的时候需要离被摄物体一定距离这样相机才可以拍摄清楚,否则相机无法对焦。对焦距离近的话适合拍摄小物件,这就是为什么有的镜头叫微距镜头,说的就是可以离被摄物体近,这样拍摄的就会更清楚,最简单容易理解就这样解释了。在选择数码相机的时候尤其是家用DC的时候会经常有写微距拍摄距离,有的相机可以达到1cm 还有更厉害的相机可以达到0cm 也就是说可以贴在物体上拍摄了,当然是否有这个必要,就看在拍摄的时候你自己的兴趣爱好了。
焦距:一般在相机的镜头上会有写 XXmm或者 XX-XXXmm类似 变焦18-55mm ,28-200mm 还有就是定焦 50mm 焦距简单的可以理解为拍摄画面的远近和角度范围大小。人的眼睛视野范围如果用镜头焦距来作为参考就是50mm的 所以为什么管50mm的镜头称为标头,就是符合人的眼睛视角范围。这个数值越大说明可以拍的越远,数值越小可以拍的越广,所以小于或者等于28mm的一般都称为广角镜头 大于70mm以上的例如200mm都称为长焦镜头,如果数值特小的一般都称为鱼眼镜头,鱼眼镜头拍的更广,所以在选择镜头的时候经常会看到厂家一个参数镜头变焦范围 28-105mm 就是说这个镜头广角端可以到28mm的 长焦端可以到105mm 这个对于选择相机是一个很重要的参数。数值变化越大说明拍摄范围就越广泛了。
焦距:相机的镜头是一组透镜,当平行光线穿过透镜时,会会聚到一点上,这个点叫做焦点,焦点到透镜中心的距离,就称为焦距。焦距固定的镜头,即定焦镜头;焦距可以调节变化的镜头,就是变焦镜头。

到此这篇关于react-three/postprocessing库的参数中文含义使用总结的文章就介绍到这了,更多相关react中文含义使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈React-router v6 实现登录验证流程

    浅谈React-router v6 实现登录验证流程

    本文主要介绍了React-router v6 实现登录验证流程,主要介绍了公共页面、受保护页面和登录页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • react-router v4如何使用history控制路由跳转详解

    react-router v4如何使用history控制路由跳转详解

    这篇文章主要给大家介绍了关于react-router v4如何使用history控制路由跳转的相关资料,文中通过示例代码介绍的的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • react组件实例属性state详解

    react组件实例属性state详解

    这篇文章主要介绍了react组件实例属性state,有状态state的组件称作复杂组件,没有状态的组件称为简单组件,状态里存储数据,数据的改变驱动页面的展示,本文结合实例代码给大家详细讲解,需要的朋友可以参考下
    2023-02-02
  • React在定时器中无法获取状态最新值的问题

    React在定时器中无法获取状态最新值的问题

    这篇文章主要介绍了React在定时器中无法获取状态最新值的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • react hook使用useState更新数组,无法更新问题及解决

    react hook使用useState更新数组,无法更新问题及解决

    这篇文章主要介绍了react hook使用useState更新数组,无法更新问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • React Native 环境搭建的教程

    React Native 环境搭建的教程

    本篇文章主要介绍了React Native 环境搭建的教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • React Native项目框架搭建的一些心得体会

    React Native项目框架搭建的一些心得体会

    React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。接下来通过本文给大家分享React Native项目框架搭建的一些心得体会,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • react实现消息显示器

    react实现消息显示器

    这篇文章主要为大家详细介绍了react实现消息显示器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • React中hook函数与useState及useEffect的使用

    React中hook函数与useState及useEffect的使用

    这篇文章主要介绍了React中hook函数与useState及useEffect的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • Redux中subscribe的作用及说明

    Redux中subscribe的作用及说明

    由于redux使用这方面有很多的不解,不是很熟练,所以我查找资料,进行一个总结,希望可以巩固知识,并且能帮助到需要的人,所以我会写的比较清晰简单明了点,若有不对之处,请大家纠正
    2023-10-10

最新评论