前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity2D游戏开发-使用URP并实现激光效果

Unity2D游戏开发-使用URP并实现激光效果

作者头像
码客说
发布2023-08-08 13:03:54
1.2K0
发布2023-08-08 13:03:54
举报
文章被收录于专栏:码客

前言

在做射击游戏的时候,我们会需要激光枪射击的激光效果。

这里使用带有光晕的材质来实现。

开启URP

Window => Package Manager 中搜索Universal RP,并安装

如果已经安装则跳过

image-20230805134453719
image-20230805134453719

在Assets文件夹下新建

Create => Rendering => URP Asset (with Universal Renderer)

我这里文件命名为ZURPAsset

会生成两个文件

  • ZURPAsset
  • ZURPAsset_Renderer

项目中设置

Edit => Project Settings

选择我们刚创建的

image-20230805160108133
image-20230805160108133

开启全局光晕

在场景中添加

image-20230805160348400
image-20230805160348400

选中 并新建配置文件

image-20230805160600852
image-20230805160600852

新建后会增加一个按钮

image-20230805160705034
image-20230805160705034

添加后处理中的Bloom

image-20230805160727471
image-20230805160727471

设置值

image-20230805160852511
image-20230805160852511

其中

  • Threshold 是阈值 也就是超过这个亮度值会生效
  • Intensity 这是增加的强度

也就是说我们设置过这个后 亮度超过1的物体会更加的亮的光晕效果。

我们可以测试一下是否生效

Threshold调整为0,如果发现整个界面出现光晕了,就证明全局光晕效果可用了。

测试后再把Threshold调整为1。

激光效果

激光效果实现的思路是 线渲染器渲染的线上添加上光晕来实现。

光晕效果是通过设置一个亮度超过1的材质,从而出现光晕效果。

线渲染器

首先添加线渲染器

在我们任意对象上添加组件 Line Renderer

image-20230805162417542
image-20230805162417542
image-20230805162508215
image-20230805162508215

一定要设置这三个地方,才能看到效果

  • Positions 中 Size设置为2,证明我们的线只有一个开始点和一个结束点,结束点一定要设置,负责线的长度为0,肯定看不到。
  • Materials 一定要选择材质,否则也不会渲染,后边我们就是修改这个地方来实现光晕的效果的。
  • 排序 一定要上我们的位置在上层,否则也看不到。
  • 颜色的话设置为我们需要的就行。
  • Width是线的宽度。

这时候线是这样的

image-20230805162932213
image-20230805162932213

制作光晕的材质

在Assets文件夹下新建Shader文件夹

创建Sprite Unlit Shader Graph

在 Unity 的 Shader Graph (Shader 图)中,Sprite Unlit Shader 是一个专门用于渲染 2D Sprite 的非照明 Shader。

它的主要特征和作用:

  • 不受光照影响,Sprite 永远是完整颜色,不会出现明暗部分
  • 支持 Alpha 通道透明度
  • 可以通过节点调整颜色、透明度等参数实现Sprite动画效果
  • 进行平滑和非平滑两种像素化渲染模式之间切换
  • 可添加自定义节点进行UV动画、扭曲、像素化等效果
  • 可结合2D Animation实现复杂的Sprite动画和视觉效果相比内置的 Sprite-Default Shader,使用 Shader Graph 可以更灵活地控制 Sprite 的渲染效果。

在Shader下创建

Create => Shader Graph => URP => Sprite Unlit Shader Graph

设置名称为ColorGraph

image-20230805163351257
image-20230805163351257

双击打开文件

image-20230805164855333
image-20230805164855333

默认只有框中的部分

在左侧添加两个入参

  • Color 输入颜色
  • Texture2D 设置精灵

其中Color要设置为HDR模式,设置HDR后输入的颜色才能亮度大于1 。

image-20230805165122335
image-20230805165122335

设置完成后一定要点击 左上角的 Save Asset 进行保存。

新建材质

右键上一步创建的ColorGraph 点击Create => Material

命名为BrightMaterial

image-20230805165907831
image-20230805165907831

这两个输入就是上一步创建的输入参数

Texture2D 随便选一个白色贴图

我这里使用的是自带的

image-20230805170221010
image-20230805170221010

Color中设置

image-20230805170319789
image-20230805170319789

这里设置强度大于1,让光晕生效。

使用材质

Line Renderer的属性中设置新的材质就可以了。

image-20230805170610736
image-20230805170610736

这时候效果就变成这个了

image-20230805171059729
image-20230805171059729
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 开启URP
  • 开启全局光晕
  • 激光效果
    • 线渲染器
      • 制作光晕的材质
        • 创建Sprite Unlit Shader Graph
        • 新建材质
      • 使用材质
      相关产品与服务
      腾讯云服务器利旧
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档