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

建设网站公司名称大全wordpress媒体选项

建设网站公司名称大全,wordpress媒体选项,包装制品东莞网站建设,世界工厂网网页版目录 一、基础版 二、Post Process 辉光Bloom效果 矩形渐隐 涉及知识点#xff1a;Decal贴花、屏幕后处理Bloom、屏幕空间构建世界空间、ChracterController物体移动、Terrain地形创建 一、基础版 Unity 2019.4.0f1 普通渲染管线#xff08;非URP、非HDRP#xff09; UR…目录 一、基础版 二、Post Process 辉光Bloom效果 矩形渐隐 涉及知识点Decal贴花、屏幕后处理Bloom、屏幕空间构建世界空间、ChracterController物体移动、Terrain地形创建 一、基础版 Unity 2019.4.0f1 普通渲染管线非URP、非HDRP URP HDRP 在Unity 2021.2以上均可直接使用内置的贴花系统具体网上有说明。 贴花物体是一个个Cube立方体我将它拉长了Y轴 便于能接触到地面。 其中角色物体胶囊体要进行设置渲染层级GetComponentMeshRenderer().material.renderQueue 3001; //将人物放到贴花物体之后渲染不被贴花物体影响 如这个Cube长方体就是红色边缘的Cube贴花贴花颜色是红色。 贴花物体是透明层不写入深度和深度检测以及裁剪正面不裁剪背面。 可参考贴花(Decal)效果在Shader里是如何实现的_哔哩哔哩_bilibili 核心代码是DepthToWorldPosition屏幕空间反向构建世界空间很类似全局雾效注意摄像机要开启深度贴图。摄像机挂上这个如下脚本设置 using System.Collections; using System.Collections.Generic; using UnityEngine;public class OpenDepthTexture : MonoBehaviour {public DepthTextureMode mode;private void Awake(){GetComponentCamera().depthTextureMode mode;} }Shader Unlit/SimpleDecal {Properties{_MainTex (Texture, 2D) white {}_Color (Color, Color) (1,1,1,1)}SubShader{Tags { RenderTypeTransparent QueueTransparent }LOD 100Pass{//Blend One DstAlphaBlend SrcAlpha OneMinusSrcAlpha//Blend One OneZWrite OffZTest OffCull Front CGPROGRAM#pragma vertex vert#pragma fragment frag#include UnityCG.cgincstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;float4 screenPos : TEXCOORD3;};sampler2D _MainTex;float4 _MainTex_ST;sampler2D _CameraDepthTexture;fixed4 _Color;v2f vert (appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);o.screenPos ComputeScreenPos(o.vertex);return o;}float3 DepthToWorldPosition(float4 screenPos){float depth Linear01Depth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,screenPos)));//线性深度值float4 ndcPos (screenPos/screenPos.w) * 2 - 1; //除以w是归一化Unity提供的屏幕坐标[0,1] *2-1操作 转[-1,1]得到ndc(仅有x,y有效位)float3 clipPos float3(ndcPos.x, ndcPos.y, 1) * _ProjectionParams.z; //ndc补z位直接用1 远平面值之后乘以far远平面距离得到裁剪坐标//clipPos还缺一个w实际z值就是w值故完整clipPos是(clipPos.xyzz) 再直接转视图空间得到远平面的视图空间坐标点即Depth为1的点 float3 viewPos mul(unity_CameraInvProjection, clipPos.xyzz).xyz * depth; //*depth相当于一个Lerp操作depth是[0,1]范围的值取到depth深度的视图点float3 worldPos mul(UNITY_MATRIX_I_V,float4(viewPos, 1)).xyz; //视图转世界坐标return worldPos;}fixed4 frag (v2f i) : SV_Target{float3 worldPos DepthToWorldPosition(i.screenPos);float4 localPos mul(unity_WorldToObject, float4(worldPos, 1.0));clip(float3(0.5,0.5,0.5) - abs(localPos.xyz));fixed2 decalUV fixed2(localPos.x, localPos.z);decalUV decalUV 0.5; //模型空间 [-0.5,0.5] [0,1] uv空间fixed4 color tex2D(_MainTex, decalUV) * _Color;return color;}ENDCG}} }玩家胶囊体脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Player3D : MonoBehaviour {public GameObject greenPrefab;public GameObject redPrefab;public int size 5;public Terrain terrain;private CharacterController characterController;private float h;private float v;private float verticalVelocity;public float moveSpeed 1;// Start is called before the first frame updatevoid Start(){Vector3 pos transform.position;int halfSize Mathf.FloorToInt(size / 2);for (int i -halfSize; i halfSize; i){for (int j -halfSize; j halfSize; j){int v Mathf.Abs(i) Mathf.Abs(j);if (v halfSize){GameObject go GameObject.Instantiate(v halfSize ? redPrefab : greenPrefab, transform);go.transform.position new Vector3(pos.x i, pos.y, pos.z j);}}}characterController GetComponentCharacterController();GetComponentMeshRenderer().material.renderQueue 3001; //将人物放到贴花物体之后渲染不被贴花物体影响}private void Update(){float h Input.GetAxis(Horizontal);float v Input.GetAxis(Vertical);Vector3 moveDir transform.forward * v transform.right * h;if (!characterController.isGrounded){verticalVelocity - 9.8f * Time.deltaTime;moveDir.y verticalVelocity;}else{verticalVelocity -0.5f;}characterController.Move(moveDir * moveSpeed * Time.deltaTime);} }二、Post Process 辉光Bloom效果 矩形渐隐 Package Manager导入Post Processing 需确保摄像机开启HDR查看相应的Graphics Settings设置 如果你的是安卓环境那么就要去看安卓下的HDR是否开启如果你是URP、HDRP则是看对应管线资源的配置是否有开启HDR。 摄像机挂上后处理组件 Post-process Layer并设置摄像机和Layer要勾选我们想要辉光效果的层级例如自定义的HDR层 创建一个PostProcess空物体添加如下图组件Post-process Volume并且设置它的Layer为HDR 点击组件的New按钮会创建一个Profile资源再点击Add effect... 添加Unity - Bloom曝光效果 设置Intensity强度适当5~10左右 Threshold阈值[0,1]范围保持默认即可如果你设置大于1会导致曝光效果几乎没有 Soft Knee 软曝光可以自定义 Diffusion 漫反射当曝光的地形在有漫反射的物体上时会叠加漫反射的强度好像反正我不需要拉到最左边即可即1其他请自行研究如下图即可得到gif图效果如果没有辉光说明Layer层级设置不对所有需要辉光的物体都要设置Layer层级是HDR由Post-process Layer指定的层级 贴花Shader脚本修改如下 Shader Unlit/SimpleDecal {Properties{_MainTex (Texture, 2D) white {}[HDR]_Color (Color, Color) (1,1,1,1)_Range (Range, Range(0,0.5)) 0.45_FadeIntensity (Fade Intensity, float) 2}SubShader{Tags { RenderTypeTransparent QueueTransparent }LOD 100Pass{Blend SrcAlpha OneMinusSrcAlphaZWrite OffZTest OffCull FrontCGPROGRAM#pragma vertex vert#pragma fragment frag#include UnityCG.cgincstruct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;float4 screenPos : TEXCOORD3;};sampler2D _MainTex;float4 _MainTex_ST;sampler2D _CameraDepthTexture;fixed4 _Color;float _Range;float _FadeIntensity;v2f vert (appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);o.screenPos ComputeScreenPos(o.vertex);return o;}float3 DepthToWorldPosition(float4 screenPos){float depth Linear01Depth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,screenPos)));//线性深度值float4 ndcPos (screenPos/screenPos.w) * 2 - 1; //除以w是归一化Unity提供的屏幕坐标[0,1] *2-1操作 转[-1,1]得到ndc(仅有x,y有效位)float3 clipPos float3(ndcPos.x, ndcPos.y, 1) * _ProjectionParams.z; //ndc补z位直接用1 远平面值之后乘以far远平面距离得到裁剪坐标//clipPos还缺一个w实际z值就是w值故完整clipPos是(clipPos.xyzz) 再直接转视图空间得到远平面的视图空间坐标点即Depth为1的点 float3 viewPos mul(unity_CameraInvProjection, clipPos.xyzz).xyz * depth; //*depth相当于一个Lerp操作depth是[0,1]范围的值取到depth深度的视图点float3 worldPos mul(UNITY_MATRIX_I_V,float4(viewPos, 1)).xyz; //视图转世界坐标return worldPos;}fixed4 frag (v2f i) : SV_Target{float3 worldPos DepthToWorldPosition(i.screenPos);float4 localPos mul(unity_WorldToObject, float4(worldPos, 1.0));clip(float3(0.5,0.5,0.5) - abs(localPos.xyz));fixed2 decalUV fixed2(localPos.x, localPos.z);decalUV decalUV 0.5; //模型空间 [-0.5,0.5] [0,1] uv空间fixed4 color tex2D(_MainTex, decalUV) * _Color;//由外到内渐隐 圆形渐隐//float2 center float2(0.5, 0.5);//float alpha lerp(0, distance(float2(0,0), center), distance(decalUV, center));//color.a * alpha;//由外到内渐隐矩形渐隐fixed2 uv decalUV - 0.5; //转[-0.5,0.5]空间 方便计算float x abs(uv.x) - _Range;float y abs(uv.y) - _Range; //float sum xy ;//max(0, x) max(0, y);float sum max(x, y);//color.a * smoothstep(0, (0.5 - _Range) * 2, sum);color.a * smoothstep(0, (0.5 - _Range) * _FadeIntensity, sum);return color;}ENDCG}} }有些bug就是Scene场景看不到贴花地形了暂时没研究处来是啥情况
http://www.zqtcl.cn/news/25567/

相关文章:

  • 网站建设与运营的课程总结深圳网站设计小程序
  • 电子商务网站建设的作用贵州省建设厅实名认证网站
  • pc做网站青岛网站推广招商
  • 自助网站免费建站平台住房城乡建设部网站
  • 免费网页游戏网站腾讯建站平台官网
  • 怎样把自己做的网页放在网站里做百度网站每年的费用多少钱
  • 有价值 网站搜索型网站
  • 网站开发毕业周记南昌高端模板建站
  • 淄博网站建设推广优化上海网络平台网站
  • 如何给网站添加cnzz网站qq显示未启用
  • 网站更换内容梅州市住房和建设局网站
  • 做的比较好的分享网站怎么做自己的视频网站
  • 网站修改方案html5 ASP 演示网站
  • 广东个人备案网站内容企业seo排名全包
  • 温州 网站优化wordpress微信授权访问
  • 上海模板网站制作多少钱wordpress远程唤醒
  • 网站分站系做分销商城网站的
  • 云梦网如何做网站开发一款app软件需要多久
  • 手机网站系统wordpress搜索翻页404
  • 柳州市建设工程质量安全监督管理处网站担路做网站
  • 网站建设时程序的作用优化seo搜索排名
  • 建设流网站项目wordpress如何优化页面
  • 首钢建设一公司网站中国执行信息公开网查询
  • 广州从化网站建设石家庄外贸网站制作公司
  • 关于销售网站有哪些内容wordpress自动标签插件
  • 哈尔滨企业建站系统网上店铺怎么运营
  • 西安市建设监理协会网站wordpress+替换字体颜色
  • 门户网站想要微信登录怎么做能打开各种网站的浏览器app
  • 销售网站html源码seo优化诊断
  • 网上网站开发html语言的特点