一、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中文含义使用内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

react-three/postprocessing库的参数中文含义使用解析的更多相关文章

  1. ios – React native链接到另一个应用程序

    如果是错误的,有人知道如何调用正确的吗?

  2. ios – React Native – 在异步操作后导航

    我正在使用ReactNative和Redux开发移动应用程序,我正面临着软件设计问题.我想调用RESTAPI进行登录,如果该操作成功,则导航到主视图.我正在使用redux和thunk所以我已经实现了异步操作,所以我的主要疑问是:我应该把逻辑导航到主视图?我可以直接从动作访问导航器对象并在那里执行导航吗?.我对组件中的逻辑没有信心.似乎不是一个好习惯.有没有其他方法可以做到这一点?

  3. 在ios中使用带有React Native(0.43.4)的cocoapods的正确方法是什么?

    我已经挖掘了很多帖子试图使用cocoapods为本地ios库设置一个反应原生项目,但我不可避免地在#import中找到了丢失文件的错误.我的AppDelegate.m文件中的语句.什么是使用反应原生的可可豆荚的正确方法?在这篇文章发表时,我目前的RN版本是0.43.4,而我正在使用Xcode8.2.1.这是我的过程,好奇我可能会出错:1)

  4. ios – React Native WebView滚动行为无法按预期工作

    如何确保滚动事件的行为与ReactNative应用程序中的浏览器相同?

  5. ios – React Native – BVLinearGradient – 找不到’React/RCTViewManager.h’文件

    谢谢.解决方法几天前我遇到了完全相同的问题.问题是在构建应用程序时React尚未链接.试试这个:转到Product=>Scheme=>管理方案…=>点击你的应用程序Scheme,然后点击Edit=>转到Build选项卡=>取消选中ParallelizeBuild然后点击标志添加目标=>搜索React,选择第一个名为React的目标,然后单击Add然后在目标列表中选择React并将其向上拖动到该列表中的第一个.然后转到Product=>再次清理并构建项目.这应该有所帮助.

  6. ios – React Native – NSNumber无法转换为NSString

    解决方法在你的fontWeight()函数中也许变成:

  7. ios – React native error – react-native-xcode.sh:line 45:react-native:command not found命令/ bin/sh失败,退出代码127

    尝试构建任何(新的或旧的)项目时出现此错误.我的节点是版本4.2.1,react-native是版本0.1.7.我看过其他有相同问题的人,所以我已经更新了本机的最新版本,但是我仍然无法通过xcode构建任何项目.解决方法要解决此问题,请使用以下步骤:>使用节点版本v4.2.1>cd进入[你的应用]/node_modules/react-native/packager>$sh./packager.s

  8. 反应原生 – 如何通过Xcode构建React Native iOS应用程序到设备?

    我试图将AwesomeProject应用程序构建到设备上.构建成功并启动屏幕显示,但后来我看到一个红色的“无法连接到开发服务器”屏幕.它表示“确保节点服务器正在运行–从Reactroot运行”npmstart“.看起来节点服务器已经运行,因为当我做npm启动时,我收到一个EADDRINUSE消息,表示该端口已经在使用.解决方法从设备访问开发服务器您可以使用开发服务器快速迭代设备.要做到这一点,你的

  9. 静音iOS推送通知与React Native应用程序在后台

    我有一个ReactNative应用程序,我试图获得一个发送到JavaScript处理程序的静默iOS推送通知.我看到的行为是AppDelegate中的didReceiveRemoteNotification函数被调用,但是我的JavaScript中的处理程序不会被调用,除非应用程序在前台,或者最近才被关闭.我很困惑的事情显然是应用程序正在被唤醒,并且它的didReceiveRemoteNotifi

  10. 如何为iOS的React Native设置分析

    所以我已经完成了一个针对iOS的ReactNative项目,但是我想在其中分析.我尝试了react-native-google-analytics软件包,但是问题阻止了它的正常工作.此外,react-native-cordova-plugin软件包只适用于Android,因此插入Cordova插件进行分析的能力现在已成为问题.我也没有Swift/ObjectiveC的经验,所以将完全失去GA的插入.有没有人有任何建议如何连接GoogleAnalytics的ReactNativeforiOS?

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部