ThreeJs-13效果合成与后期处理
一.合成效果原理与设置
什么是效果合成,就是可以把一些效果经过后期处理再放出来
原来的物体是直接通过render渲染出来,而现在则是经过一条render通道,可以处理也可以叠加处理后再放出来

首先正常加载模型

首先导入效果合成器以及一些自带的效果

创建合成效果渲染器,跟之前渲染器差不多,但是要注意注意添加渲染通道这个效果

然后不再是渲染render而是用合成效果render

此时就能看到基本的render一样的效果,然后就可以开始一些其他的效果有哪些效果可以在这个目录查看,实现效果可以上threejs官网查看



二.实现抗锯齿,点效果,发光,屏幕闪动等特效
什么是抗锯齿,一个物体在边缘处很容易出现锯齿感

而开启抗锯齿就是会把一些有锯齿感的地方经过计算,变得模糊看起来顺滑


发光效果


当然通过官网的例子的gui也可以去调节一些参数
三.使用shaderpass实现自定义合成效果
首先导入

首先使用的默认的

添加到通道

会发现此时整个页面都是黄色,因为这个后期效果是对整个场景渲染

那如果只是想对当前这个效果合成器,所有效果一起叠加使用
首先正常设置uv,在片段着色器这边我们当前这个通道所有的效果都是默认传了一个纹理进来,并且名字如下,把他作为颜色即可

但是要注意一下,这个默认值要先设置在外面

静态效果,可以去设置一些颜色,比如整个色调偏蓝一点



四.使用法向纹理合成特色渲染镜头
有一张法向纹理图案
想实现的效果,头盔周围都是六边形网格,中间部分可以反射

加载纹理

在刚才自定义特效定义法向纹理默认值

值传进来

然后片段着色器拿到传进来的值
这是光线角度,参数是光线打进来的位置,normalize只是让他变成单向量
统一设置光线dot函数即可,由于normalcolor是一个四维向量所以只取xyz,加上光线形成思维向量
而clamp函数,设置一个区间,小于0就是0,大于1就是1


五.运用时间打造水底波浪动态渲染效果
形成波浪效果首先得用sin函数,变的是uv


然后加上时间


ThreeJs-13效果合成与后期处理的更多相关文章
- ThreeJS的特效合成器和后期处理通道
最近要写个 web 交互式发光可交互的框架.没查到啥好资料,自己一个人摸索了很久,有些失望,可是毕竟是探索过的东西,所以做个记录,怀念我过去好多天掉的青丝(捂脸).我在前面那篇博客里面已经介绍了如何让 ...
- Android View部分消失效果实现
本文来自网易云社区 作者:孙有军 老需求 我们经常会有需求就是View消失的效果,这里我们说的消失往往是全部消失,我们可能采用一个alpha动画,在指定的时间内消失掉View,出现则实现相反的动画.我 ...
- [JavaScript] canvas 合成图片和文字
Canvas Canvas 是 HTML5 新增的组件,就像一个画板,用 js 这杆笔,在上面乱涂乱画 创建一个 canvas <canvas id="stockGraph" ...
- 关于Mongodb的全面总结
MongoDB的内部构造<MongoDB The Definitive Guide> MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本 ...
- PS高级特训班 百度云资源(价值2180元)
课程目录: 第1章第一期1第一节 火焰拳头1:12:252第二节 荷叶合成00:05:143第三节 新年巨惠海报(一)1:00:374第四节 新年巨惠海报(二)1:05:345第五节 美食印刷品1 ...
- ASP.NET SignaiR 实现消息的即时推送,并使用Push.js实现通知
一.使用背景 1. SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指 ...
- Esfog_UnityShader教程_遮挡描边(原理篇)
咳咳,有段时间没有更新了,最近有点懒!把不少精力都放在C++身上了.闲言少叙,今天要讲的可和之前的几篇有所不同了,这次是一个次综合应用.这篇内容中与之前不同主要体现在下面几点上. 1.之前我们写的都是 ...
- 微软官网下载windows系统有点全
第一步:访问:https://www.microsoft.com/zh-cn/software-download/windows10ISO/ 默认就只能下载win10,这怎么行呢.巨硬程序员貌似没做服 ...
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
- Java基础系列-Collector和Collectors
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748925.html 一.概述 Collector是专门用来作为Stream的coll ...
随机推荐
- json-lib(ezmorph)、gson、flexJson、fastjson、jackson对比,实现java转json,json转java
json-lib(ezmorph).gson.flexJson.fastjson.jackson对比,实现java转json,json转java 本文中所讲的所有代码都在此:json-test 目前关 ...
- 通向架构师的道路(第二十四天)之Oracle性能调优-朝拜先知之旅
前言 这次,我们将在Linux下来动手完成Oracle数据库的安装与使用. Oracle本身是可以免费下载的包括 它的企业版以及被它收购的Weblogic和Sun中的几乎任何东西你都可以拿来下载和使用 ...
- vagrant搭建开发环境
一:我们为什么需要用这玩意 我们在开发中经常会面临的问题:环境不一致,有人用Mac有人用Windos还有几个用linux的,而我们的服务器都是linux. 在我本地是可以的啊,我测了都,没有问题啊,然 ...
- Springboot集成WebSocket实现智能聊天【Demo】
背景 openai 目前越来越流行,其他 ai 产业也随之而来,偶然翻到 openai接口文档,就想着可以调用接口实现智能聊天,接下来就写写我怎么接入 websocket 的过程,文笔不佳,谅解. 接 ...
- Uri的解析
//最基本的划分 [scheme:]scheme-specific-part[#fragment] //对scheme-specific-part进一步划分 [scheme:][//authority ...
- Taro微信小程序获取Tab页可视区域高度
前情 公司有自己的小程序项目,因公司主要技术栈为react,所以选择了Taro来开发,Taro是京东出品的多端统一开发解决方案,用来开发小程序也相比用原生开发,在开发体验上好很多,而且还能使用成熟的R ...
- oracle查询某个sql语句客户端ip地址
1. 背景 业务出现异常后,或者某个sql导致系统卡顿.需要问题后需要溯源,需要获取这个sql是在哪个客户端的IP发起的. 2. cs架构 客户端直接连接数据库,可以很方便查询,采用通过sql_id找 ...
- Linux 中的内存使用率计算方式
背景介绍 在工作中处理问题的时候,遇到一个问题,自己根据 top 命令时查看到的 used 和 total 计算出来的内存使用率已经达到 90% 以上了,但是系统自带的监控软件计算出来的使用率往往没有 ...
- Vue3使用Vuex 教程(这才是真正的小白教程!)
我的项目是vue3+element-plus 我是个菜鸡,我不懂前端.想做一个tags的导航标签页.但是点击标签页之后页面仍然是会重新请求.感觉这不就跟没做一样吗? 遂百度GPT,第一种方式采用的就是 ...
- Vue3项目运行时报错误:TypeError Cannot read properties of undefined (reading 'filter')
let matched = this.$route.mached.filter(item => item.name);方法报错:TypeError Cannot read properties ...