【shader学习历程】翻页特效

加载完2D图片,想实现一个类似PPT设计中的翻页特效。

平台:Qt+glew

shader代码很简洁。如下:

const char* vs = "#version 330\n\
				uniform MVP\n\
				{\n\
					mat4 _model;\n\
					mat4 _view;\n\
					mat4 _proj;\n\
				}_mvp;\n\
					layout(location = 0)in vec3 _vertex;\n\
					layout(location = 1)in vec2 _uv;\n\
					out vec2 _uvOut;\n\
					void main(void)\n\
				{\n\
				    gl_Position=_mvp._proj * _mvp._view * _mvp._model*vec4(_vertex,1.0);\n\
				    _uvOut = _uv;\n\
				}";
const char* ps = "#version 330\n\
				in vec2 _uvOut;\n\
				uniform sampler2D _texture;\n\
				void main(void)\n\
			    {\n\
				    gl_FragColor = texture2D(_texture,_uvOut);\n\
				}";

(重点)建立3D场景,摄像机坐标与世界坐标系重合,摄像机目标 向量为(0.0f, 0.0f,100.0f);

准备好两张图片,创建两个shader对象等一系列准备...(可以成为双胞胎shader)

翻页只需要改变某一个shader的顶点坐标。

如下:shader1 

	Vertex attriArr[] = 
	{
		{ -1,   -_hi, -10,    0.0f,  1.0f },
		{ -1.0,  _hi, -10,    0.0f,  0.0f },
		{ 1.0f, _hi, -10,     1.0f,  0.0f },
		{ 1.0,  -_hi, -10,    1.0f,  1.0f }
	};

shader2

Vertex attriArr1[] =
		{
			{ -1,         -_hi,   -10,                0.0f,  1.0f },
			{ -1.0,        _hi,   -10,                0.0f,  0.0f },
			{ cos(_the),   _hi,   -10 + sin(_the),    1.0f,  0.0f },
			{ cos(_the),  -_hi,   -10 + sin(_the),    1.0f,  1.0f }
		};

原理:

世界坐标系下俯视图

简而言之:绕平行于Y轴向量的某向量旋转。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity Shader Graph是Unity引擎中的一种可视化编程工具,它可以用于创建自定义的着色器效果。溶解特效是一种常见的特效,在游戏和动画中经常使用。 要使用Unity Shader Graph实现溶解特效,我们需要做以下几个步骤: 1. 创建Shader Graph:打开Unity编辑器,创建一个新的Shader Graph。可以通过右键点击Assets面板中的空白区域,选择Create->Shader->PBR Graph来创建一个新的Shader Graph。 2. 添加输入节点:在Shader Graph编辑器中,我们需要添加溶解特效所需的输入节点。这些节点可能包括Texture2D用于溶解图案、Float用于控制溶解的进度等。 3. 控制溶解过程:在Shader Graph中,我们可以使用节点连接和编辑来控制溶解特效的过程。例如,我们可以使用Lerp节点将溶解图案与原始纹理进行混合,实现溶解的效果。 4. 添加溶解动画:通过使用Time节点,我们可以在Shader Graph中添加时间变量,以使溶解过程可以动态进行,从而实现溶解特效的动画效果。通过控制Time节点的输入值,我们可以控制溶解特效的速度、方向等。 5. 调整其他属性:除了溶解图案和动画外,还可以通过Shader Graph调整其他属性,如颜色、透明度、光照等,以使溶解特效具有更多的变化和个性化。 6. 导入及应用Shader:将编写好的Shader Graph保存,然后将其导入Unity项目中。之后,我们可以将其应用到需要溶解特效的材质上,以实现溶解特效效果。 总之,通过使用Unity Shader Graph,我们可以通过可视化编辑界面来快速创建和调整溶解特效。这种方法非常直观和灵活,使得艺术家和开发人员可以快速实现他们想要的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值