成果预览
全国3d大赛展示
安装Unity并下载编辑器
看这个链接,注意下载编辑器时一定要选择Android Build Support模块
安装Vuforia插件
在项目页面点击新项目按钮,在弹出界面顶部选择你想使用的编辑器,选择3D built-in render pipeline模板,点击创建项目
现在页面是这样的

点击窗口,点击资源商店,点击Search Online,现在会进入到网站,在网站中搜索Vuforia Engine,点击添加至我的资源,再接着点击在unity打开


接着,在unity页面点击下载并导入,如果没有显示,可以在窗口->包管理器->在包选项选择我的资产,在导入界面依次点击导入->安装/升级->下一步->导入

如果出现了以下错误,点击窗口->包管理器->在包选项选择在项目中->找到出现感叹号的包,能更新的更新,不能的移除

Vuforia的简单使用
1.配置Vuforia
点击层级面板的Main Camera,右键删除,在右键层级面板空白处,选择Vuforia Engine->ARCamera,把ARCamera拉到最上层



点击ARCamera,点击检查器面板下Vuforia Behaviour脚本下的Open Vuforia Engine configuration按钮进入配置页面

点击Add License按钮,转跳到Vuforia网站,现在请自行注册并登录,完成之后,现在是这个页面,没有这个页面点击右上角的My Account->Plan & Licenses就会显示,现在点击Generate Basic License,随便输入一个名字,点击confirm


点击我们刚刚创建的License(我这里是11111),复制灰色框的内容


现在回到unity,在配置页面的Add License Key框中粘贴复制的内容,至此配置结束
2.使用Image Target
现在在层级面板右键Vuforia Engine->Image Target


现在看右侧检查器面板的Image Target Behaviour脚本下的Type选项,现在分别使用From Image与From Database选项来加载特征图像(Vuforia通过相机提取识别图像的特征点,进而显示ImageTarget下的内容或进行其他操作)
1.From Image
随便导入一张图片,将图片拖到Image选项

点击层级面板,右键ImageTarget,在其子级创建一个立方体


2.导出设置
现在可以导出了,点击文件->生成设置,点击添加已打开的场景,按如图勾选场景,没勾的是官方示例,下面那个是自己建的,点击平台下的Android,点击切换平台


接着点击生成,找到你想存放apk文件的路径,随便取名,接着导入手机上使用
3.From Database
回到Vuforia网站,点击My account->Target Manager,来到这个页面

点击Generate Database,随便取个名,点击Generate

现在点击刚创建的Database,点击Add Target,在Image类型下上传文件,width填1,点击Add,等待处理完成


处理完之后,会类似于下图的结果,rating的星数代表图片的易辨程度,越高提取的特征点越多,也就越容易识别,尽量把rating控制在四星以上

现在点击Download Database (All),选择Unity Editor,点击下载

现在回到Unity,把刚刚下好的文件导入Unity


现在点击层级面板的Image Target,将Type改成From Database,选择刚刚导入的Database,点击Image Target选择Database里面的图片

之后一样,生成apk后导出到文件使用
进阶
现在,我将使用我自己的Database,然后在对应的Image Target下做一些模型的动画和特效
1.导入资源,将所需要的模型按分类导入到Resources文件夹
使用blender创建一个简单的十二平面并导出为fbx

将所有资源导入到Unity,然后创建十二个材质应用于导入的每一个平面,可以使用脚本动态创建材质,这里我手动创建


2.创建平面动画
点击检查器右边的三个小点,点击添加选项卡->动画,再拖动动画面板调整位置,点击动画面板内的红色按钮记录平面属性,制作动画,这里我制作了一个旋转消失动画

3.导入框并创建动画
在blender中创建一个平面并导出为fbx,导入unity作为背景框,同样为框制作动画

4.导入十二生肖模型
导入十二生肖模型(或你自己的模型),根据ImageTarget调整一下模型的大小

创建动画控制器,将模型动画拖入
5.编写脚本控制动画
using System.Collections;
using UnityEngine;
using Vuforia;
public class SequentialAnimationController : MonoBehaviour
{
[Header("动画对象")]
public GameObject objectA;
public GameObject objectB;
public GameObject objectC;
[Header("动画触发参数")]
public string animationTriggerName = "Play";
private Animator animatorA;
private Animator animatorB;
private Animator animatorC;
private DefaultObserverEventHandler handler;
void Start()
{
handler = GetComponent<DefaultObserverEventHandler>();
// 获取Animator组件
animatorA = objectA.GetComponent<Animator>();
animatorB = objectB.GetComponent<Animator>();
animatorC = objectC.GetComponent<Animator>();
objectA.SetActive(false);
objectB.SetActive(false);
objectC.SetActive(false);
}
private void OnEnable()
{
// 订阅 DefaultObserverEventHandler 的 UnityEvent
handler.OnTargetFound.AddListener(Found);
handler.OnTargetLost.AddListener(Lost);
}
private void OnDisable()
{
// 取消订阅事件
handler.OnTargetFound.RemoveListener(Found);
handler.OnTargetLost.RemoveListener(Lost);
}
void Found()
{
// 启动动画序列
StartCoroutine(PlayAnimationsSequentially());
}
void Lost()
{
animatorA.enabled = false;
animatorB.enabled = false;
animatorC.enabled = false;
}
IEnumerator PlayAnimationsSequentially()
{
// 播放A的动画
objectA.SetActive(true);
animatorA.enabled = true;
animatorA.SetTrigger(animationTriggerName);
yield return WaitForAnimation(animatorA);
// 播放B的动画
objectB.SetActive(true);
animatorB.enabled = true;
animatorB.SetTrigger(animationTriggerName);
yield return WaitForAnimation(animatorB);
// 播放C的动画
objectC.SetActive(true);
animatorC.enabled = true;
animatorC.SetTrigger(animationTriggerName);
yield return WaitForAnimation(animatorC);
Debug.Log("所有动画播放完成");
}
// 等待动画播放完成
IEnumerator WaitForAnimation(Animator animator)
{
// 等待动画进入播放状态
yield return new WaitUntil(() => animator.GetCurrentAnimatorStateInfo(0).normalizedTime > 0);
// 等待动画播放完成
while (animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1f)
{
yield return null;
}
}
}
将脚本拖到Rabbit上,再根据对应动画顺序将动画对象拖入

6.使用Shader制作特效
这部分b站有很多教程,这是我的shader,怎么用可以去b站看
// Made with Amplify Shader Editor
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "FxClass/AlphaMask"
{
Properties
{
_AlphaIntensity("Alpha强度", Float) = 0
[HDR]_MainColor("主色调", Color) = (0.6792453,0.6792453,0.6792453,0)
_MainTex("主贴图", 2D) = "white" {}
_MainTexUspeed("主贴图U速度", Float) = 0
_MianTexVspeed("主贴图V速度", Float) = 0
_SecondTex("纹理贴图", 2D) = "white" {}
_SecTexUspeed("纹理贴图U速度", Float) = 0
_SecTexVspeed("纹理贴图V速度", Float) = 0
_MaskTex("遮罩贴图", 2D) = "white" {}
_Softedge("软粒子", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Custom" "Queue" = "Transparent+0" "IsEmissive" = "true" }
Cull Back
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#include "UnityShaderVariables.cginc"
#include "UnityCG.cginc"
#pragma target 3.0
#pragma surface surf Unlit keepalpha noshadow
struct Input
{
float4 vertexColor : COLOR;
float2 uv_texcoord;
float4 screenPos;
};
uniform float4 _MainColor;
uniform sampler2D _SecondTex;
SamplerState sampler_SecondTex;
uniform float _SecTexUspeed;
uniform float _SecTexVspeed;
uniform float4 _SecondTex_ST;
uniform sampler2D _MainTex;
SamplerState sampler_MainTex;
uniform float _MainTexUspeed;
uniform float _MianTexVspeed;
uniform float4 _MainTex_ST;
uniform sampler2D _MaskTex;
SamplerState sampler_MaskTex;
uniform float4 _MaskTex_ST;
uniform float _AlphaIntensity;
UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
uniform float4 _CameraDepthTexture_TexelSize;
uniform float _Softedge;
inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
{
return half4 ( 0, 0, 0, s.Alpha );
}
void surf( Input i , inout SurfaceOutput o )
{
float2 appendResult26 = (float2(_SecTexUspeed , _SecTexVspeed));
float2 uv_SecondTex = i.uv_texcoord * _SecondTex_ST.xy + _SecondTex_ST.zw;
float2 panner27 = ( 1.0 * _Time.y * appendResult26 + uv_SecondTex);
float4 tex2DNode28 = tex2D( _SecondTex, panner27 );
o.Emission = ( i.vertexColor * _MainColor * tex2DNode28.r ).rgb;
float2 appendResult21 = (float2(_MainTexUspeed , _MianTexVspeed));
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
float2 panner18 = ( 1.0 * _Time.y * appendResult21 + uv_MainTex);
float2 uv_MaskTex = i.uv_texcoord * _MaskTex_ST.xy + _MaskTex_ST.zw;
float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
float4 ase_screenPosNorm = ase_screenPos / ase_screenPos.w;
ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5;
float screenDepth31 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy ));
float distanceDepth31 = saturate( abs( ( screenDepth31 - LinearEyeDepth( ase_screenPosNorm.z ) ) / ( _Softedge ) ) );
o.Alpha = saturate( ( tex2D( _MainTex, panner18 ).r * tex2D( _MaskTex, uv_MaskTex ).r * tex2DNode28.r * i.vertexColor.a * _AlphaIntensity * distanceDepth31 ) );
}
ENDCG
}
CustomEditor "ASEMaterialInspector"
}
/*ASEBEGIN
Version=18500
28;85;1828;633;1524.308;889.041;1.685488;True;False
Node;AmplifyShaderEditor.RangedFloatNode;20;-787.0265,-599.0914;Inherit;False;Property;_MianTexVspeed;主贴图V速度;5;0;Create;False;0;0;False;0;False;0;0.1;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;19;-787.0265,-671.0914;Inherit;False;Property;_MainTexUspeed;主贴图U速度;4;0;Create;False;0;0;False;0;False;0;-0.2;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;24;-798.7428,-335.6298;Inherit;False;Property;_SecTexVspeed;纹理贴图V速度;8;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;23;-799.7428,-403.6298;Inherit;False;Property;_SecTexUspeed;纹理贴图U速度;7;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;21;-648.0265,-669.0914;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;17;-727.0265,-787.0915;Inherit;False;0;1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TextureCoordinatesNode;25;-723.4428,-528.0298;Inherit;False;0;28;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DynamicAppendNode;26;-645.7428,-399.6298;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.PannerNode;27;-504.7427,-453.6299;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
Node;AmplifyShaderEditor.RangedFloatNode;32;-440.1078,13.33092;Inherit;False;Property;_Softedge;软粒子;10;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.PannerNode;18;-507.0264,-723.0915;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
Node;AmplifyShaderEditor.SamplerNode;1;-328.0001,-752.6846;Inherit;True;Property;_MainTex;主贴图;3;0;Create;False;0;0;False;0;False;-1;None;df966ac7d8c519248af875af35dafb6a;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;28;-328.0164,-485.223;Inherit;True;Property;_SecondTex;纹理贴图;6;0;Create;False;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;6;-334.5456,-294.6007;Inherit;True;Property;_MaskTex;遮罩贴图;9;0;Create;False;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DepthFade;31;-270.3042,-6.313584;Inherit;False;True;True;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;29;-190.6723,-98.88303;Inherit;False;Property;_AlphaIntensity;Alpha强度;1;0;Create;False;0;0;False;0;False;0;1;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.VertexColorNode;3;-242.8,-1090.583;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;22;216.8913,-351.253;Inherit;False;6;6;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.ColorNode;4;-281.3001,-923.9847;Inherit;False;Property;_MainColor;主色调;2;1;[HDR];Create;False;0;0;False;0;False;0.6792453,0.6792453,0.6792453,0;0,0.2332882,0.2401495,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SaturateNode;30;369.8816,-300.8333;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;2;177.3147,-766.1046;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;676.3999,-387.7;Float;False;True;-1;2;ASEMaterialInspector;0;0;Unlit;FxClass/AlphaMask;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;2;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.5;True;False;0;True;Custom;;Transparent;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;False;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;0;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
WireConnection;21;0;19;0
WireConnection;21;1;20;0
WireConnection;26;0;23;0
WireConnection;26;1;24;0
WireConnection;27;0;25;0
WireConnection;27;2;26;0
WireConnection;18;0;17;0
WireConnection;18;2;21;0
WireConnection;1;1;18;0
WireConnection;28;1;27;0
WireConnection;31;0;32;0
WireConnection;22;0;1;1
WireConnection;22;1;6;1
WireConnection;22;2;28;1
WireConnection;22;3;3;4
WireConnection;22;4;29;0
WireConnection;22;5;31;0
WireConnection;30;0;22;0
WireConnection;2;0;3;0
WireConnection;2;1;4;0
WireConnection;2;2;28;1
WireConnection;0;2;2;0
WireConnection;0;9;30;0
ASEEND*/
//CHKSM=51223A6B558F79D0BDB72DEAD77B69B53C0C6C2C
// Made with Amplify Shader Editor
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "FxClass/AdditiveMask"
{
Properties
{
[HDR]_MainColor1("主色调", Color) = (0.6792453,0.6792453,0.6792453,0)
_MainTex1("主贴图", 2D) = "white" {}
_MainTexUspeed1("主贴图U速度", Float) = 0
_MianTexVspeed1("主贴图V速度", Float) = 0
_SecondTex1("纹理贴图", 2D) = "white" {}
_SecTexUspeed1("纹理贴图U速度", Float) = 0
_SecTexVspeed1("纹理贴图V速度", Float) = 0
_MaskTex1("遮罩贴图", 2D) = "white" {}
_Softedge1("软粒子", Float) = 0
[HideInInspector] _texcoord( "", 2D ) = "white" {}
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Custom" "Queue" = "Transparent+0" "IsEmissive" = "true" }
Cull Off
ZWrite Off
Blend One One
CGPROGRAM
#include "UnityShaderVariables.cginc"
#include "UnityCG.cginc"
#pragma target 3.0
#pragma surface surf Unlit keepalpha noshadow
struct Input
{
float4 vertexColor : COLOR;
float2 uv_texcoord;
float4 screenPos;
};
uniform float4 _MainColor1;
uniform sampler2D _SecondTex1;
SamplerState sampler_SecondTex1;
uniform float _SecTexUspeed1;
uniform float _SecTexVspeed1;
uniform sampler2D _MaskTex1;
uniform float4 _MaskTex1_ST;
uniform sampler2D _MainTex1;
SamplerState sampler_MainTex1;
uniform float _MainTexUspeed1;
uniform float _MianTexVspeed1;
uniform float4 _MainTex1_ST;
SamplerState sampler_MaskTex1;
UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
uniform float4 _CameraDepthTexture_TexelSize;
uniform float _Softedge1;
inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
{
return half4 ( 0, 0, 0, s.Alpha );
}
void surf( Input i , inout SurfaceOutput o )
{
float2 appendResult35 = (float2(_SecTexUspeed1 , _SecTexVspeed1));
float2 uv_MaskTex1 = i.uv_texcoord * _MaskTex1_ST.xy + _MaskTex1_ST.zw;
float2 panner36 = ( 1.0 * _Time.y * appendResult35 + uv_MaskTex1);
float2 appendResult32 = (float2(_MainTexUspeed1 , _MianTexVspeed1));
float2 uv_MainTex1 = i.uv_texcoord * _MainTex1_ST.xy + _MainTex1_ST.zw;
float2 panner38 = ( 1.0 * _Time.y * appendResult32 + uv_MainTex1);
float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
float4 ase_screenPosNorm = ase_screenPos / ase_screenPos.w;
ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5;
float screenDepth42 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy ));
float distanceDepth42 = saturate( abs( ( screenDepth42 - LinearEyeDepth( ase_screenPosNorm.z ) ) / ( _Softedge1 ) ) );
o.Emission = ( i.vertexColor * _MainColor1 * tex2D( _SecondTex1, panner36 ).r * tex2D( _MainTex1, panner38 ).r * tex2D( _MaskTex1, uv_MaskTex1 ).r * distanceDepth42 * i.vertexColor.a ).rgb;
o.Alpha = 1;
}
ENDCG
}
CustomEditor "ASEMaterialInspector"
}
/*ASEBEGIN
Version=18500
7;98;1828;614;1048.583;327.9868;1;True;False
Node;AmplifyShaderEditor.RangedFloatNode;28;-718.663,-293.8559;Inherit;False;Property;_MianTexVspeed1;主贴图V速度;4;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;29;-718.663,-365.8559;Inherit;False;Property;_MainTexUspeed1;主贴图U速度;3;0;Create;False;0;0;False;0;False;0;-1;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;30;-730.3793,-30.39435;Inherit;False;Property;_SecTexVspeed1;纹理贴图V速度;7;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;31;-731.3793,-98.3943;Inherit;False;Property;_SecTexUspeed1;纹理贴图U速度;6;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;33;-658.663,-483.4979;Inherit;False;0;39;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TextureCoordinatesNode;34;-655.0793,-222.7943;Inherit;False;0;41;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DynamicAppendNode;32;-579.663,-363.8559;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.DynamicAppendNode;35;-577.3793,-94.39429;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.PannerNode;36;-436.3792,-148.3944;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
Node;AmplifyShaderEditor.RangedFloatNode;37;-387.6889,226.4415;Inherit;False;Property;_Softedge1;软粒子;9;0;Create;False;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.PannerNode;38;-438.6629,-417.856;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
Node;AmplifyShaderEditor.VertexColorNode;44;-174.4364,-785.3474;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DepthFade;42;-217.8853,206.797;Inherit;False;True;True;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SamplerNode;40;-259.6528,-179.9875;Inherit;True;Property;_SecondTex1;纹理贴图;5;0;Create;False;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;41;-266.1821,10.6347;Inherit;True;Property;_MaskTex1;遮罩贴图;8;0;Create;False;0;0;False;0;False;-1;None;4c5ed528efef347438076da92444f1b0;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;39;-259.6365,-447.449;Inherit;True;Property;_MainTex1;主贴图;2;0;Create;False;0;0;False;0;False;-1;None;c5876a02acc3dc14ba891c894e84c86b;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.ColorNode;46;-212.9366,-618.7491;Inherit;False;Property;_MainColor1;主色调;1;1;[HDR];Create;False;0;0;False;0;False;0.6792453,0.6792453,0.6792453,0;0.6792453,0.6792453,0.6792453,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;48;245.6783,-460.8691;Inherit;False;7;7;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;1;COLOR;0
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;676.3999,-387.7;Float;False;True;-1;2;ASEMaterialInspector;0;0;Unlit;FxClass/AdditiveMask;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;2;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.5;True;False;0;True;Custom;;Transparent;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;False;4;1;False;-1;1;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;0;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
WireConnection;32;0;29;0
WireConnection;32;1;28;0
WireConnection;35;0;31;0
WireConnection;35;1;30;0
WireConnection;36;0;34;0
WireConnection;36;2;35;0
WireConnection;38;0;33;0
WireConnection;38;2;32;0
WireConnection;42;0;37;0
WireConnection;40;1;36;0
WireConnection;39;1;38;0
WireConnection;48;0;44;0
WireConnection;48;1;46;0
WireConnection;48;2;40;1
WireConnection;48;3;39;1
WireConnection;48;4;41;1
WireConnection;48;5;42;0
WireConnection;48;6;44;4
WireConnection;0;2;48;0
ASEEND*/
//CHKSM=F0F20164E943712B1343B02D1343B103F4E9CF90
1441

被折叠的 条评论
为什么被折叠?



