精华内容
下载资源
问答
  • 主要为大家详细介绍了Unity shader实现顶点动画波动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 支持MAX2014版本,能制作简单的破碎效果。并且直接给碎块绑上骨骼,变成骨骼动画,使得导出时不需要导出顶点动画资源,容量会小很多。
  • Mega-Fiers is out in the Asset store. Easily adjust and make new versions of your meshes with them bent, squashed, stretched etc or any combination of such effects. Why have just one variety of a mesh...
  • 顶点动画和UV动画Shader资源,资源包形式,导入项目即可。
  • 顶点动画理解

    2020-04-10 23:08:18
    直接上代码吧 //顶点动画 Shader "Custome/Chapter11/Water" { Properties { _MainTex("Base Layer (RGB)",2D) = "white" {} _Color("Color Tint",Color) = (1,1,1,1) _Magnitude("Distortion Magnit...

    直接上代码吧

    //顶点动画
    Shader "Custome/Chapter11/Water" {
    	Properties {
            _MainTex("Base Layer (RGB)",2D) = "white" {}
            _Color("Color Tint",Color) = (1,1,1,1)
            _Magnitude("Distortion Magnitude",Float) = 1//控制水流波动幅度
            _Frequency("Distortion Frequency",Float) = 1//控制水流波动频率
            _InvWaveLength("Distortion Inverse Wave Length",Float) = 10//波长的倒数,数值越大波长越小
            _Speed("Speed",Float) = 0.5//控制河流纹理的速度
        }
        SubShader{
    		Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"
                  //批处理会合并相关的模型,
                  //会使模型丢失自己的模型空间
                  //为了利用模型空间我们关闭它
                  "DisableBatching"="True"}
            
    		Pass {
    			// Pass for ambient light & first pixel light (directional light)
    			Tags { "LightMode"="ForwardBase" }
    
                ZWrite Off
    			Blend SrcAlpha OneMinusSrcAlpha
                Cull   Off
    		
    			CGPROGRAM
    
    			#pragma vertex vert
    			#pragma fragment frag
    			
    			#include "UnityCG.cginc"
    
                sampler2D _MainTex;
                float4    _MainTex_ST; 
                fixed4    _Color;
                float     _Magnitude;
                float     _Frequency;
                float     _InvWaveLength;
                float     _Speed;
    
    
    			struct v2f {
                    float4 pos : POSITION;
                    float2 uv  : TEXCOORD0;
    			};
                
    			v2f vert (appdata_base v) {
                    v2f o;
                    float4 offset;
                    offset.yzw = float3(0.0,0.0,0.0);
                    //注意这里水流图片是竖直的,所以他的边是x
                    //如果是横躺着的图片,则竖直的是Y。
                    offset.x = _Magnitude*
                    sin(_Frequency*_Time.y + v.vertex.x * _InvWaveLength + v.vertex.y*_InvWaveLength + v.vertex.z*_InvWaveLength);
    
                    o.pos = UnityObjectToClipPos(v.vertex + offset);
    
    				o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
                    //因为我们的水流图片是竖直的,所以为了让它表现出
                    //水流流速很快我们对其进行y+time;
    				o.uv +=  float2(0.0, _Time.y * _Speed);
                    return o;
                }
                fixed4 frag (v2f i) : SV_Target {
                    fixed4 c = tex2D(_MainTex, i.uv);
    				c.rgb *= _Color.rgb;
    
    				return c;
    			}
    
    			ENDCG
    		}
        }
        Fallback "Transparent/VertexLit"
    }
    

    在这里插入图片描述
    sin(_Frequency*_Time.y + v.vertex.x * _InvWaveLength + v.vertex.y*_InvWaveLength + v.vertex.z*_InvWaveLength);
    由上图可知,这段代码中我们可以省去Y,X轴分量,他也可以很好的运行。

    展开全文
  • Unity Shader顶点动画

    2019-12-02 17:06:06
    Shader "vertexAni" { Properties { _MainTex ("Texture", 2D) = "white" {} _Magnitude("Magnitude",float) = 1 //波动幅度 _Frequency("Frequency",float) = 1 //波动频率 _Speed("Speed",float) = ...
    Shader "vertexAni"
    {
        Properties
        {
            _MainTex ("Texture", 2D) = "white" {}
    		_Magnitude("Magnitude",float) = 1 //波动幅度
    		_Frequency("Frequency",float) = 1 //波动频率
    		_Speed("Speed",float) = 0.5 //速度
        }
        SubShader
        {
            Tags { "RenderType"="Opaque" }
            LOD 100
    
            Pass
            {
                CGPROGRAM
                #pragma vertex vert
                #pragma fragment frag
                // make fog work
                #pragma multi_compile_fog
    
                #include "UnityCG.cginc"
    
                struct appdata
                {
                    float4 vertex : POSITION;
                    float2 uv : TEXCOORD0;
                };
    
                struct v2f
                {
                    float2 uv : TEXCOORD0;
                    UNITY_FOG_COORDS(1)
                    float4 vertex : SV_POSITION;
                };
    
                sampler2D _MainTex;
                float4 _MainTex_ST;
    			float _Magnitude;
    			float _Frequency;
    			float _Speed;
    
                v2f vert (appdata v)
                {
                    v2f o;
    				v.vertex.y = v.vertex.y + _Magnitude* sin(_Time.y * _Speed + v.vertex.x * _Frequency);
                    o.vertex = UnityObjectToClipPos(v.vertex);
                    o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                    UNITY_TRANSFER_FOG(o,o.vertex);
                    return o;
                }
    
                fixed4 frag (v2f i) : SV_Target
                {
                    // sample the texture
                    fixed4 col = tex2D(_MainTex, i.uv);
                    // apply fog
                    UNITY_APPLY_FOG(i.fogCoord, col);
                    return col;
                }
                ENDCG
            }
        }
    }
    

    在这里插入图片描述

    展开全文
  • 声音频率的顶点动画 这是我们主要灵感的来源: : 和 我们首先需要能够从.mp3的不同频率(低音,中音,高音)中获取值,然后将这些值传递给顶点动画或网格的顶点位移。 我认为着色器的顶点位移与顶点动画之间存在...
  • shader 顶点动画

    2020-02-11 18:26:24
    效果图如下: 实现了简单的上下浮动,可模拟简单的水面效果。 代码如下: Shader "MyShader/014" { Properties { _MainTex ("Texture", 2D) = "white" {} _Swing("Swing",float) = 1//振幅 ...

    效果图如下:
    在这里插入图片描述
    实现了简单的上下浮动,可模拟简单的水面效果。
    代码如下:

    Shader "MyShader/014"
    {
        Properties
        {
            _MainTex ("Texture", 2D) = "white" {}
    		_Swing("Swing",float) = 1//振幅
    		_Frequency("Frequency",float)=1//频率
    		_Speed("Speed",float)=0.5//速度
        }
        SubShader
        {
            Tags { "RenderType"="Opaque" }
            LOD 100
    
            Pass
            {
                CGPROGRAM
                #pragma vertex vert
                #pragma fragment frag
                // make fog work
                #pragma multi_compile_fog
    
                #include "UnityCG.cginc"
    
                struct appdata
                {
                    float4 vertex : POSITION;
                    float2 uv : TEXCOORD0;
                };
    
                struct v2f
                {
                    float2 uv : TEXCOORD0;
                    UNITY_FOG_COORDS(1)
                    float4 vertex : SV_POSITION;
                };
    
                sampler2D _MainTex;
                float4 _MainTex_ST;
    			float _Swing;
    			float _Frequency;
    			float _Speed;
    
                v2f vert (appdata v)
                {
                    v2f o;
    				//_Swing控制上下波动的大小,_Speed控制上下波动的速度,v.vertex.x*_Frequency根据x的不同控制左右的褶皱程度
    				v.vertex.y = v.vertex.y + _Swing * sin(_Time.y*_Speed + v.vertex.x*_Frequency);
                    o.vertex = UnityObjectToClipPos(v.vertex);
                    o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                    UNITY_TRANSFER_FOG(o,o.vertex);
                    return o;
                }
    
                fixed4 frag (v2f i) : SV_Target
                {
                    // sample the texture
                    fixed4 col = tex2D(_MainTex, i.uv);
                    // apply fog
                    UNITY_APPLY_FOG(i.fogCoord, col);
                    return col;
                }
                ENDCG
            }
        }
    }
    
    
    展开全文
  • MAX顶点动画烘焙到图

    2020-10-14 19:59:37
    顶点动画烘焙到图 有时候需要一些流体或者顶点动画,而如果存成animation或者abc文件 数据将会过大。 虚幻4提供了一种烘焙动画数据到贴图的方法,我们首先找到提供的脚本 位置:…\Engine\Extras\3dsMaxScripts中的...

    顶点动画烘焙到图

    有时候需要一些流体或者顶点动画,而如果存成animation或者abc文件 数据将会过大。
    虚幻4提供了一种烘焙动画数据到贴图的方法,我们首先找到提供的脚本
    位置:…\Engine\Extras\3dsMaxScripts中的VertexAnimationTools.ms

    1. 拖入Max中我们制作好的动画场景
      在这里插入图片描述
    2. 设置完点击process animated meshs会生成下图后缀mesh和exr格式动画图片
      Uv2信息在这个mesh中导出fbx到工程
      在这里插入图片描述
    3. 图片设置(andriod设置里也是关闭压缩)
      Filter Mode: point

    在这里插入图片描述
    在shader中我们拿到uv2数据,使用uv2.x坐标寻址,使用time驱动动画对这张动画图片
    采样(float2(uv2.x, _Time.y)),对采样结果进行缩小(0-0.1)作为位置赋值给positionOS。

    顶点数据烘焙到uv的好处是可以省去顶点计算或者刷权重的一步,更加直观的调整首尾帧。

    展开全文
  • Shader顶点动画实现波浪效果

    千次阅读 2018-10-25 22:20:01
    首先要知道顶点函数中的一个顶点会包含以下信息: float3类型的顶点法线方向 float3类型的顶点位置 甚至可能包含这个顶点的颜色信息(float4类型,注意:导入模型的默认材质不会显示顶点颜色的,我们需要自己编写...
  • 效果: 程式: 为方便大家一起玩,图片我放下面了,不要只是看,一定要多去尝试 ,goodlucky,everybody!: Albedo图: Alpha图: 法线: 圆滑图:
  • 顶点动画可以让我们的场景变得更加生动有趣。在游戏中,我们常常使用顶点动画来模拟飘动的旗帜,河流的效果。下面将学习两种常见的顶点动画应用:流动的河流以及广告牌技术,最后还给出一些顶点动画中的注意事项以及...
  • Shader动画之UV动画与顶点动画

    千次阅读 2017-12-18 20:40:08
    用Shader实现动画主要包括两种方式:1.UV动画,2.顶点动画
  • Unity插件 - MeshEditor 网格顶点动画

    千次阅读 2018-10-27 19:05:37
    网格顶点动画(变形动画)是针对于物体的形状可以随意变换并记录为关键帧的动画,虽然模型的顶点数据还是应该交给GPU绘制才是正道,CPU刷新模型顶点始终是个吃力不讨好的事(不过我好像至始至终就是在干吃力不讨好的...
  • 顶点动画

    千次阅读 2018-01-14 15:47:25
    前面我们移动了uv(uv动画),这里的基本原理是一样的,根据时间线给物体的顶点一个偏移,这样就形成了一个动画。 Time shader 里面获取时间 unity官网提供了内置函数官网链接 关键代码 在顶点着色器里面...
  • 我们需要实现一个模型上所有顶点都随机漂移的效果。开始的时候用的Mage-fiers实现的,需要加载对应的脚本库。感觉代码累赘,所以这里用shader实现了一个相应的效果。静态图如下:    这张效果图有两部分组成,由...
  • Unity3d 实现顶点动画

    千次阅读 2016-04-20 07:23:11
    在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了 之前博主通过顶点着色...
  • UnityShader23:顶点动画

    2021-02-21 16:22:59
    SCP783-扭曲的人只需要在 Shader 中修改顶点着色器中的 pos 值就可以实现简单的顶点动画顶点动画的特点: 想要实现复杂的动画可能较为困难,如有错误的计算可能会得到非常鬼畜的效果 由于是顶点动画,所以动画的...
  • 网格顶点动画(变形动画)是针对于物体的形状可以随意变换并记录为关键帧的动画,虽然模型的顶点数据还是应该交给GPU绘制才是正道,CPU刷新模型顶点始终是个吃力不讨好的事(不过我好像至始至终就是在干吃力不讨好的...
  • 旗帜飘扬顶点动画

    2019-06-14 08:26:33
    Shader "Shader Forge/FlagFlying" { Properties { _MainTex ("MainTex", 2D) = "white" {} _Amplitude ("Amplitude", Float ) = 0.1 _Frequency("Frequency",Float)=1 _WaveL...
  • unity 3DMAX顶点动画导入unity

    千次阅读 2018-12-15 11:20:19
    Unity中使用顶点动画模型 1.将模型导入3DsMax中 2.导出pc2文件和FBX文件,并导入到Unity中 3.在unity中使用Mega Fiers插件 1)在导入后的gameobject上,添加point cache 组件 2)在检视面板Inspector中选择...
  • Unity MegaFiers 顶点动画

    千次阅读 2018-11-11 08:23:10
    Unity MegaFiers 顶点动画
  • //根据顶点的纹理坐标,计算出对应的纹理的真正的UV坐标 return o; } fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.uv); return col; } ENDCG } } } ...
  • Unity Shader 学习笔记(18)纹理动画、顶点动画、广告牌技术 参考书籍:《Unity Shader 入门精要》 Unity Shader的内置变量纹理动画可用于代替粒子系统模拟动画效果。帧序列动画8x8帧序列纹理动画 Properties { ...
  • Unity shader顶点动画-- 波动效果

    千次阅读 2018-09-27 15:55:35
    需要了解的背景知识: 波动实例:y= Asin(ωx+φ) ...顶点着色器的主要计算: 1.顶点位置 2.矩阵转换 片段着色器 1.纹理寻址 2.灯光作用 _Time表示时间周期 float4(t/20, t, t*2, t*3) ...
  • 河流模拟是顶点动画最常见的应用之一,它的原理通常是使用正弦函数等来模拟水流的波动效果。 Shader "MyShader/Water" { Properties { _MainTex("Main Tex", 2D) = "white" {} _Color("Color Tint", Color) = ...
  • 本篇将从比较简单的顶点动画说起,开启图形学的篇章。 原理 主要的原理,就是在顶点着色器中,对顶点进行各种偏移。这种偏移,可以根据自己的需要,在模型空间、世界空间、裁剪空间等空间中进行。 1、压扁效果 开放...
  • //根据顶点的纹理坐标,计算出对应的纹理的真正的UV坐标 return o; } fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.uv); float2 uv_offset=float2(0,0); uv_...
  • VAF顶点动画: 将动画信息存储在图片中() 图片大小:2687 * 100: 顶点数量 :2687 动画总帧数:100 在动画播放的时候:每一帧读取一行信息(2687个顶点的偏移值)。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,026
精华内容 8,010
关键字:

顶点动画