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

深圳苏州企业网站建设服务公司一网通办 上海

深圳苏州企业网站建设服务公司,一网通办 上海,做游戏网站用什么系统做,深圳市官网前言 Unity3D URP#xff08;Universal Render Pipeline#xff09;是Unity官方推出的一款渲染管线#xff0c;可以实现高效、高质量的图形渲染。在URP中#xff0c;我们可以通过自定义特效来增强游戏的视觉效果。本文将详细解释如何使用URP实现一个自定义范围的特效热扭曲…前言 Unity3D URPUniversal Render Pipeline是Unity官方推出的一款渲染管线可以实现高效、高质量的图形渲染。在URP中我们可以通过自定义特效来增强游戏的视觉效果。本文将详细解释如何使用URP实现一个自定义范围的特效热扭曲。 对惹这里有一个游戏开发交流小组希望大家可以点击进来一起交流一下开发经验呀 特效热扭曲是一种常见的游戏特效它可以给游戏场景增加一种扭曲的视觉效果使得游戏更加动态和有趣。在本文中我们将通过URP的脚本化渲染管线功能来实现一个自定义范围的特效热扭曲。 首先我们需要创建一个新的URP项目。在Unity编辑器中选择“File - New Project”然后选择“Universal Render Pipeline”模板创建一个新的项目。接下来我们需要在项目中导入一些必要的资源。 在项目中创建一个新的文件夹命名为“Shaders”。在“Shaders”文件夹中创建一个新的着色器文件命名为“Distortion.shader”。在该着色器文件中我们将定义我们的热扭曲特效。 在“Distortion.shader”中我们首先需要定义一个包含顶点和片段着色器的SubShader。顶点着色器负责将顶点坐标从对象空间转换到剪裁空间片段着色器负责计算每个像素的颜色。 Shader Custom/Distortion {SubShader{Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag// 定义顶点输入结构体struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};// 定义顶点输出结构体struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;};// 顶点着色器v2f vert(appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.uv v.uv;return o;}// 片段着色器fixed4 frag(v2f i) : SV_Target{// 在这里实现热扭曲效果// ...return fixed4(0, 0, 0, 0);}ENDCG}} } 在顶点着色器中我们将顶点坐标从对象空间转换到剪裁空间这样我们就可以在片段着色器中使用这些坐标来计算每个像素的颜色。在片段着色器中我们可以实现我们的热扭曲效果。 接下来我们需要在URP的渲染管线中使用我们的自定义着色器。在Unity编辑器中选择“Window - Rendering - PipelineAsset”打开渲染管线资源。然后将我们的自定义着色器添加到渲染管线资源的Shader列表中。 在渲染管线资源的Asset中选择“Renderer Features”选项卡。在这里我们可以添加我们的自定义特效。 点击“Add Renderer Feature”按钮在弹出的对话框中选择“Custom Renderer Feature”。然后将我们的自定义特效脚本添加到渲染管线中。 在自定义特效脚本中我们将实现我们的热扭曲效果。我们需要在OnRenderObject函数中获取相机的剪裁空间坐标并将其传递给我们的自定义着色器。 using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal;public class DistortionEffect : ScriptableRendererFeature {class DistortionPass : ScriptableRenderPass{public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData){CommandBuffer cmd CommandBufferPool.Get(Distortion);// 获取相机的剪裁空间坐标Matrix4x4 projectionMatrix GL.GetGPUProjectionMatrix(renderingData.cameraData.camera.projectionMatrix, false);Matrix4x4 viewMatrix renderingData.cameraData.camera.worldToCameraMatrix;Matrix4x4 viewProjectionMatrix projectionMatrix * viewMatrix;// 设置全局矩阵参数cmd.SetGlobalMatrix(_ViewProjectionMatrix, viewProjectionMatrix);// 在这里实现热扭曲效果// ...context.ExecuteCommandBuffer(cmd);CommandBufferPool.Release(cmd);}}DistortionPass m_DistortionPass;public override void Create(){m_DistortionPass new DistortionPass();}public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData){renderer.EnqueuePass(m_DistortionPass);} } 在自定义特效脚本中我们首先定义了一个渲染通道DistortionPass。在Execute函数中我们获取相机的剪裁空间坐标并将其设置为全局矩阵参数。然后我们可以在这里实现我们的热扭曲效果。 最后我们需要在URP的渲染管线资源中启用我们的自定义特效。在渲染管线资源的Asset中选择“Renderer Features”选项卡。在这里我们可以勾选我们的自定义特效脚本。 现在我们已经完成了自定义范围的特效热扭曲的实现。我们可以在游戏中添加一个相机并将渲染管线资源设置为URP。然后我们可以在相机上添加一个我们的自定义特效脚本。 通过修改自定义着色器和自定义特效脚本中的代码我们可以进一步定制我们的热扭曲效果。例如我们可以在片段着色器中使用噪声函数来实现扭曲效果或者在特效脚本中添加更多的参数来控制热扭曲的范围和强度。 总结 本文详细介绍了如何使用Unity3D URP实现一个自定义范围的特效热扭曲。我们首先创建了一个自定义着色器来实现热扭曲效果然后将其添加到URP的渲染管线资源中。接着我们创建了一个自定义特效脚本来实现热扭曲效果并将其添加到URP的渲染管线资源中。最后我们在游戏中添加一个相机并将渲染管线资源设置为URP然后添加我们的自定义特效脚本。通过修改自定义着色器和自定义特效脚本中的代码我们可以进一步定制我们的热扭曲效果。 更多教学视频 Unity3D​www.bycwedu.com/promotion_channels/2146264125
http://www.dnsts.com.cn/news/23611.html

相关文章:

  • 哪里网站建设有没有什么设计排版类网站
  • 衡水网站设计哪家专业甘肃兰州旅游攻略
  • 网站免费php空间申请网站内页做排名
  • 网站换ip 有多大影响wordpress 新建页面模板
  • 桂林市临桂区城乡建设局网站县级部门和乡镇不能建网站建设
  • 软件开发外包网站php网站服务器怎么来
  • 网站上放个域名查询现在有什么新型建筑模板
  • 电子商务网站建设实验报告房屋建模软件
  • 网站建设及服务合同聚合猫网站建设
  • 六安论坛招聘网最新招聘汕头百度seo电话
  • 专业电商网站建设哪家好网站设计的图片
  • 宁波网站建设方案报价怎么建设食品网站
  • 所有复刻手表网站东莞建站公司快荐全网天下特别好
  • 网站后台开发做什么天河移动网站建设
  • 商场网站开发教程wordpress stmp
  • 陕西建设厅证件查询网站如何仿制国外网站
  • 网站域名费会计分录怎么做免费个人网站注册方法
  • 一起做网店网站官方沈阳网 沈阳网站
  • 网站首页index.php全屏展示代码怎么弄中国煤炭建设协会网站qc
  • 新增网站和新增接入wordpress自定义评论
  • 大丰有没有做网站asp全静态企业网站
  • 南昌网站建设推广专家php学院网站源码
  • 学生模拟网站开发项目四川汉舟电力建设有限公司网站
  • 免费网站app下载汅api整合营销传播案例
  • 为什么要找对做网站的公司网站dns
  • 云服务器里面做网站播放器wordpress图片分享插件下载地址
  • 厦门的企业网站wordpress默认主题的坏处
  • 网站地图html模板网站推广信息怎么做
  • 中英文网站英文seo的方式包括
  • 网站建设公司如何选取运营