首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2d游戏shader(效果)

刚刚开源了自己积累的一些2D效果的Shader实现,项目GitHub地址。效果在下面列出,我使用的Unity版本是5.3.5p8(当前已更新到5.6.0f3),可用不低于此版本的unity打开查看。...(右) InnerGlow 效果: 内发光 原理: 采样周边像素alpha取平均值,叠加发光效果 OutterGlow 效果: 外发光 原理: 采样周边像素alpha取平均值,给外部加发光效果(1-...Twirl 效果: 旋转效果 原理: 旋转纹理UV坐标,越靠近中心旋转角度越大,越往外越小 TwirlEffect 效果: 旋转效果 原理: 旋转纹理UV坐标。...原图(左)、旋涡效果(右) HDR 效果: HDR效果 原理: 让亮的地方更亮,同时为了过渡更平滑柔和,亮度采用高斯模糊后的亮度(灰度值) 原图(上)、HDR效果(下) WaterColor...原图(左)、水彩画效果(右) Wave 效果: 波浪效果 原理: 让顶点的Y轴按正弦或余弦变化。

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

three.js 粒子效果(分别基于 CPU & GPU 实现)

前段时间做了一个基于 CPU 和 GPU 对比的粒子效果丢在学习 WebGL 的 RTX 群里,技术上没有多作讲解,有同学反馈看不太懂 GPU 版本,干脆开一篇文章,重点讲解基于 GPU 开发的版本。...二、技术实现 three.js中,粒子效果的实现方式大概分为三种: 1、Javascript直接计算粒子的状态变化,即基于CPU实现; 2、Javascript通知顶点着色器粒子的生命周期,由顶点着色器运行...既然运算部分在顶点着色器,那么,需要我们自己书写着色器(opengl es),所以我们选用three.js中的ShaderMaterial。...当我们执行渲染时,WebGL会绘制Point,即调用gl.drawArrays(gl.POINTS… 而通常,比如type为Mesh时,three.js会调用gl.drawArrays(gl.TRIANGLES...同样,点材质也是three.js最简单的类之一,相对于基类Material,它多做的事情只是传递了size,即点的尺寸这个值。

9.6K11

Three.js 这样写就有阴影效果

本文简介 点赞 + 关注 + 收藏 = 学会了 渲染阴影效果需要消耗一定的资源,所以 Three.js 默认是关闭阴影效果的。...想要在 Three.js 中实现阴影效果,只需记住接下来要讲的几个点即可。...本文要实现的效果 本文适合 Three.js 入门级的工友阅读~ 如果你还不了解 Three.js ,可以先看看 《Three.js 起飞》 。 本文使用 Three 的版本是 137 。...基础概念 在学习 Three.js 时,很多知识点其实记住几个重要的步骤就能实现相应的效果。...在 Three.js 中要产生阴影效果其实和现实世界的原理差不多。 但考虑到性能原因,Three.js 默认关闭了阴影效果,需要手动开启阴影效果: 渲染器开启阴影效果

2.4K10

随便聊聊水面效果2D实现(二)

引子 之前提到想要随便聊一聊RippleEffect的2D实现方法,近来又总算有了些许空余时间,于是便有了这篇东西~ 1. ...“荡漾”效果。   ...其实游戏中的Ripple效果也很常见,譬如在之前提到过的《Crysis》中,波纹效果就被应用到了很多地方(射击水面等等) image.png   在3D游戏中,波纹效果的实现方式大概仍然是先将水面进行网格划分...Cocos2d-x中其实也有一个类似的效果Ripple3D,有兴趣的朋友可以仔细看看~ 2. ...方法   OK,闲话少叙,还是让我们来看看2D实现Ripple效果的几种方法~   # 使用Shader   如果看过上篇的朋友一定了解,在实现2D的Water效果时,我多次使用了Fragment Shader

1.5K30

随便聊聊水面效果2D实现(一)

引子   一直想随便写写自己关于水面效果2D实现的一些了解,可惜各种原因一直拖沓,幸而近来有些事情终算告一段落,自己也有了一些闲暇时间,于是便有了这篇东西 :) 1. ...再加上三角面切分的粒度问题,有时总会让人感觉效果略有生硬粗糙,还有的就是Waves3D使用CPU计算来实现效果,切分粒度细致起来CPU负担很重,白白浪费了很适合这项工作的GPU~(Waves3D其实还有一个...2D版本:Waves,可惜其并不能解决上面提到的后两个问题~)   那么还有没有其他方法来实现水面效果,并且能够克服上面所提到的这些问题呢?...方法   使用Shader来实现2D水面效果,网上亦有不少资料,在此我也仅仅是简单的按照自己的理解重述一遍而已,示例代码基于cocos2d-x-3.3rc0(由于原理代码都使用GLSL,所以引擎平台其实并不重要...后记   OK,讲了不少东西,也该停一停了,这次讲了一些我自己归类为Water Effect的2D水面效果实现方法,另外一类我觉得比较重要的还有个人称为Ripple Effect的2D水面效果,有机会下次再随便讲讲吧

1.5K40

开源 2D 实时水面反射效果,源码详解!

引言:插件 Easy NavMesh、BenchMark 性能检测的作者孙二喵,从开发者王师傅的论坛分享中获得启发,实现了 2D 实时水面反射效果,Demo 免费开源。...2D 实时水面反射 Demo 效果 资源地址: https://store.cocos.com/app/detail/3900 功能特点 整个方案使用了3个摄像机: RT 摄像机负责所有游戏物体,它会获取...波浪效果有了,但是看起来比较单一,这里希望水面的颜色更有多彩,同时有一点邪恶的小紫色。 加了 casutic 效果后,水面有了焦散的流动。...作者花式使用噪声图实现了 2D 水面波浪效果,这也是上文孙二喵 Demo 的方案参考,感兴趣的小伙伴可以阅读一下。...看下现在的样子: 水波效果 接着我们用这个噪声图实现水波荡漾的效果。取噪声图的 xy 两个通道,作为对场景图取样所用 uv 的偏移值,会出来什么效果呢?

51120

一文搞懂如何在Three.js里创建阴影效果 |《Three.js零基础直通14》

需要有技巧的,以合理的性能消耗来显示更加逼真的阴影效果。 实现阴影的方法有很多种,Three.js有一个内置的解决方案。需要注意的是,这个解决方案很方便,使用很简单,但它并不完美。...当Three.js在进行渲染时,首先会对每个需要投射阴影的光源进行计算。...接下来让我们学习如何改善阴影效果。 阴影优化 渲染尺寸 要知道,Three.js里阴影的本质其实是通过计算实时生成阴影贴图。...这是由于在Three.js中点光源的阴影贴图要依赖6个方向上的相机来实现-_-!。 正因为点光源会在每个方向上发光,所以Three.js必须通过6个方向的渲染才能创建出多维数据集阴影贴图。...阴影的效果会被整合到我们应用于材料的纹理贴图上。

6.4K10

H5游戏开发:游戏引擎入门推荐

游戏效果呈现方式( 2D ? 3D ? VR ?) 这与游戏引擎能够支持的渲染方式直接挂钩。现在的 H5 游戏渲染方式一般有 2D 渲染、3D 渲染、VR 渲染三种。...而 2D 渲染一般也有三种:Dom 渲染、Canvas 渲染、WebGL 渲染。...Dom 由于性能原因,一般只适合做一些动画效果较少,交互较少的小游戏,本文主要针对 Canvas 和 WebGL 展开介绍。 一般来说,对于 2D 小游戏来说,Canvas 渲染已经足够。...Three.js ? Three.js 官方案例 相信对于很多有关注 3D 游戏的开发者来说,Three.js 早已经耳熟能详了。...实际上,Three.js 官方定位并不是游戏引擎,而是一个 JS 3D 库。Three.js 更倾向于展示型的视觉呈现,比较少直接拿 Three.js 来开发 H5 游戏。

6.4K20

CSS3、JS 探索三维粒子

即使这些在2D中看起来非常棒,但在动画中添加细微的3D视角可以使它们更具视觉吸引力。拥有相机和3D网格的概念也可以帮助您调试和开发动画。...three.js 和 3D 环境的优势 这些动画大部分可以与SVG或2D Canvas等大致相当。但是,在3D视角中添加细微的动画和定位将使其生动起来。...我的目标是显示一组基本的粒子运动能达到什么效果,而最小的是three.js的弯曲。 调试模式:网格,相机和时间刻度 要进入调试模式,请单击右上角的调试图标。...5: 雨滴和涟漪 这个演示显示了一个雨滴效果,当它们碰到粒子表面时,会产生波纹。雨滴是由箱子在跌落的时候伸出来的。...最后,添加剂混合用于在粒子重叠时产生更明亮的效果

3.9K10

Three.js入门

Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。...Three.js的核心五步就是: 1.设置three.js渲染器 2.设置摄像机camera 3.设置场景scene 4.设置光源light 5.设置物体object 1.设置three.js渲染器 三维空间里的物体映射到二维平面的过程被称为三维渲染...clientHeight; //获取画布的高 renderer = new THREE.WebGLRenderer({antialias:true}); //生成渲染器对象,锯齿效果设置为有效...在Three.js也能够指定透视投影和正投影两种方式的相机。 本文按照以下的步骤设置透视投影方式。...clientHeight; //获取画布的高 renderer = new THREE.WebGLRenderer({antialias:true}); //生成渲染器对象,锯齿效果设置为有效

7.8K92

你知道几种前端动画的实现方式?

随着互联网的持续发展,H5 页面作为与用户直接交互的表现层越来越复杂,呈现的形式也越来越丰富,从而也要求 H5 页面具有更多的花样性及动画效果。...那前端实现动画效果的方式有哪些呢,大致有如下几种: 一、GIF图片 GIF图就直接贴上图片就好了,使用非常简单,但GIF图有时出现问题是没办法控制的,比如常见的GIF图的闪烁现象。...动画又可以从维度上细分,3D动画一般采用诸如Three.js的渲染引擎或者别的游戏引擎来实现,2D动画也有非常优秀的引擎支持。...2、2D、3D游戏引擎 (1) Three.js Three.js 官方定位并不是游戏引擎,而是一个 JS 3D 库。...Three.js 更倾向于展示型的视觉呈现,也有用户直接拿 Three.js 来开发 H5 游戏。

3.4K20
领券