当前位置: 首页 > news >正文

增城建设局网站做网站的网页图片素材怎么找

增城建设局网站,做网站的网页图片素材怎么找,阿里巴巴上面可以做网站,网上推广Unity制作旋转光束 大家好#xff0c;我是阿赵。 这是一个在很多游戏里面可能都看到过的效果#xff0c;在传送门、魔法阵、角色等脚底下往上散发出一束拉丝形状的光#xff0c;然后在不停的旋转。 这次来在Unity引擎里面做一下这种效果。 一、准备材料 需要准备的素材很简… Unity制作旋转光束 大家好我是阿赵。 这是一个在很多游戏里面可能都看到过的效果在传送门、魔法阵、角色等脚底下往上散发出一束拉丝形状的光然后在不停的旋转。 这次来在Unity引擎里面做一下这种效果。 一、准备材料 需要准备的素材很简单。   第一个是一个圆柱形的网格模型删除了上下盖然后展平UV。 第二个是一张噪声贴图 二、制作过程 1、控制形状 由于准备的输出是一个圆柱网格但实际显示的效果是一个类似于扇形的形状。所以需要通过控制顶点来实现。原理很简单UV的V坐标是从模型的底部到顶部从0到1变化所以只要沿着法线方向乘以UV的V坐标然后再乘以一个控制值加到顶点坐标上就能做到底部不变越往上宽度越大了。 float3 vertexValue ( v.normal * _normalScale * v.uv.y ); v.vertex.xyz vertexValue; o.vertex UnityObjectToClipPos(v.vertex);效果入下图 2、拉丝效果 先把噪声图赋给网格模型得到这样的效果 然后设置一下平铺次数 就得到了拉丝的效果了。 这里给固有色添加一个HDR的颜色叠加然后把这个拉丝效果作为Alpha通道输入设置Transparent透明渲染就能得到这样的效果 3、透明渐变效果 上面的效果太强烈需要对它的透明度做一定的控制。先看看UV坐标的V坐标的实际范围 之前提到过V坐标是从模型底部到顶部从0到1变化。接下来就可以通过这个值做一些处理。 1.上下边缘控制 首先控制的是上下边缘现在边缘太硬我把它用两个SmoothStep分别对应顶部和底部让边缘变得柔和 float tempOneMinueVal ( 1.0 - i.uv.y ); float smoothstepResultV1 smoothstep( _vMin , _vMax , ( tempOneMinueVal - _vOffset )); float smoothstepResultV2 smoothstep( _vMin2 , _vMax2 , i.uv.y); float clampResult clamp( min( min( smoothstepResultV1 , tempOneMinueVal ) , smoothstepResultV2 ) , 0.0 , 1.0 );把这个上下边缘柔和的结果和原来的拉丝Alpha值相乘得到了这个效果 2.左右边缘控制 上面的效果已经很接近我们想要的效果了但还差一点左右边缘也很硬所以用世界法线方向和观察方向做点乘最后还是加一个SmoothStep让左右边缘有个柔和渐变。 float3 worldNormal i.worldNormal.xyz; float3 worldViewDir UnityWorldSpaceViewDir(i.worldPos); worldViewDir normalize(worldViewDir); float dotResult dot( worldNormal , worldViewDir ); float smoothstepResultEdge smoothstep( _edgeMin , _edgeMax , abs( dotResult ));计算结果是这样的左右两边渐变的变暗 3.叠加遮罩 把上面的3个SmoothStep结果相乘就得到了这样一个遮罩范围 然后和拉丝的Alpha值相乘得到了这样的效果 4、遮挡问题解决 这里有一个半透明渲染的问题在某些角度看会出现错误显示 这里我再复制一份网格模型 然后两个网格模型使用不同的CullMode 然后两个网格模型一起显示就得到了正确的效果 三、Shader源码 Shader azhao/LightColumn {Properties{[HDR]_emissCol(emissCol, Color) (0,0,0,0)_emissScale(emissScale, Float) 1_noiseTex(noiseTex, 2D) white {}_flowSpeed(flowSpeed, Vector) (0,0,0,0)_vOffset(vOffset, Float) 0_edgeMin(edgeMin, Range( 0 , 1)) 0_edgeMax(edgeMax, Range( 0 , 1)) 1_vMin(vMin, Range( 0 , 1)) 0_vMax(vMax, Range( 0 , 1)) 1_normalScale(normalScale, Range(-2,2)) 1 _vMin2(vMin2, Range( 0 , 1)) 0_vMax2(vMax2, Range( 0 , 1)) 1 [Enum(UnityEngine.Rendering.CullMode)]_CullMode(CullMode, Float) 2}SubShader{Tags { RenderTypeOpaque }LOD 100CGINCLUDE#pragma target 3.0ENDCGBlend SrcAlpha One, SrcAlpha OneAlphaToMask OffCull [_CullMode]ColorMask RGBAZWrite OnZTest LEqualOffset 0 , 0Pass{Name UnlitTags { LightModeForwardBase }CGPROGRAM#ifndef UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX//only defining to not throw compilation error over Unity 5.5#define UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input)#endif#pragma vertex vert#pragma fragment frag#pragma multi_compile_instancing#include UnityCG.cginc#include UnityShaderVariables.cgincstruct appdata{float4 vertex : POSITION;float4 color : COLOR;float3 normal : NORMAL;float2 uv : TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct v2f{float4 vertex : SV_POSITION;float3 worldPos : TEXCOORD0;float2 uv : TEXCOORD1;float3 worldNormal : TEXCOORD2;UNITY_VERTEX_INPUT_INSTANCE_IDUNITY_VERTEX_OUTPUT_STEREO};uniform float _CullMode;uniform float _normalScale;uniform float4 _emissCol;uniform float _emissScale;uniform sampler2D _noiseTex;SamplerState sampler_noiseTex;uniform float2 _flowSpeed;uniform float4 _noiseTex_ST;uniform float _vMin;uniform float _vMax;uniform float _vOffset;uniform float _vMin2;uniform float _vMax2;uniform float _edgeMin;uniform float _edgeMax;v2f vert ( appdata v ){v2f o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);UNITY_TRANSFER_INSTANCE_ID(v, o);float3 worldNormal UnityObjectToWorldNormal(v.normal);o.worldNormal worldNormal; o.uv.xy v.uv.xy; float3 vertexValue ( v.normal * _normalScale * v.uv.y );v.vertex.xyz vertexValue;o.vertex UnityObjectToClipPos(v.vertex);o.worldPos mul(unity_ObjectToWorld, v.vertex).xyz;return o;}half4 frag (v2f i ) : SV_Target{UNITY_SETUP_INSTANCE_ID(i);UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);float2 uv_noiseTex i.uv.xy * _noiseTex_ST.xy _noiseTex_ST.zw;float2 panner6 ( 1.0 * _Time.y * _flowSpeed uv_noiseTex);float tempOneMinueVal ( 1.0 - i.uv.y );float smoothstepResultV1 smoothstep( _vMin , _vMax , ( tempOneMinueVal - _vOffset ));float smoothstepResultV2 smoothstep( _vMin2 , _vMax2 , i.uv.y);float clampResult clamp( min( min( smoothstepResultV1 , tempOneMinueVal ) , smoothstepResultV2 ) , 0.0 , 1.0 );float3 worldNormal i.worldNormal.xyz;float3 worldViewDir UnityWorldSpaceViewDir(i.worldPos);worldViewDir normalize(worldViewDir);float dotResult dot( worldNormal , worldViewDir );float smoothstepResultEdge smoothstep( _edgeMin , _edgeMax , abs( dotResult ));half4 finalColor (float4((( _emissCol * _emissScale )).rgb , ( tex2D( _noiseTex, panner6 ).r * clampResult * smoothstepResultEdge )));return finalColor;}ENDCG}}}
http://www.zqtcl.cn/news/727874/

相关文章:

  • 网站地图怎么做XML深圳公共资源交易中心
  • 高碑店做网站的公司湛江专业建站推荐
  • 中国建设银行官网的网站首页c2c电子商务网站建设栏目结构图
  • 做网站的软件图标上海建站外贸
  • 保定网站建设推广成都移动端网站建设
  • 服务平台型网站做那个网站比较好
  • 网站做icp备案需要多久上海人才引进官网
  • 国外的设计网站app有什么好的免费网站做教育宣传语
  • 做期货都看那些网站淮北网
  • 网站建设的需求怎么写网站头条怎么做
  • 宜春seoseo网站自动推广
  • 张家界酒店网站建设人人设计网网址
  • 电脑系统做的好的网站什么网站做一手房好
  • 为什么用MyEclipse做网站上海境外输入
  • 做的比较好的小众网站go 是做网站的吗
  • 手机网站快速建设网站接入支付宝需要网站备案吗
  • 贵州省住房城乡建设厅网站农业营销型网站源码
  • 网站开发使用哪种语言wordpress 免费主机
  • 山东免费网站制作绿色食品网站模板
  • 做搜狗网站优化点广州网站开发人
  • 网站建设违法行为广东seo快速排名
  • 体育彩票网站开发该做哪些步骤深圳网站建设策划方案
  • 金华网站建设电话做网站用虚拟机还是服务器
  • 整容医院网站建设目的顺企网贵阳网站建设
  • 微网站 htmlseo做的好的网站
  • 免费做网站推荐东平网页设计
  • 所有复刻手表网站wordpress 标题简码
  • 云南建设厅建设网站首页网站建设s
  • 网站用户需求报告网站充值怎么做的
  • 找代码的网站有一个网站是做釆购的是什么网