UnityShader2.0 实现波动效果 笔记

本文详细介绍了如何使用UnityShader2.0实现波动效果,通过公式y=a*sin(ωx+φ)来控制波形的各个方面:φ决定波形的横向移动,ω决定周期,a决定峰值。在顶点着色器中计算顶点位置并进行矩阵变换,在片段着色器中处理纹理寻址和灯光作用。同时,Shader2.0中property变量的引用也进行了说明,如_Arange, _Frenguncy和_Speed等参数的应用。" 129282671,5680015,Android开发:使用AndServer构建WebServer,"['Android开发', 'Kotlin', 'WebServer', 'AndServer', 'HTTP']
摘要由CSDN通过智能技术生成

公式:y=a sin(ωw+φ)

φ:决定波形和X轴位置关系和横向移动距离(左加右减)

ω:决定周期(最小正周期T=2π/|ω|)

a:决定峰值(纵向拉伸倍数)

 

顶点着色器

1.计算顶点位置

2.矩阵变换

 

片段着色器

1.纹理寻址

2.灯光作用

Shader 2.0 对property变量需要引用

            float _Arange;
            float _Frenguncy;
            float _Speed;

Shader "Hidden/Ware"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
		_Arange("Amplitute",float)=1 //峰值倍数
		_Frenguncy("Fragment",float)=0.5//横向移动
		_Speed("Speed",float)=0.5
    }
    SubShader
    {
       

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值