UE5实现贴地面效果(RT+Decal)

1.实现目标

在之前的文章中基于CesiumForUnreal实现了对地形3DTileset的贴地面绘制效果,在这里基于UE自带的RT和Decal实现更加通用的贴地面效果。依旧是加载在线的Cesium World Terrain,实现的贴地面效果如下:

在这里插入图片描述

2.实现过程

这里使用UE的RT与Decal实现更加通用的贴地面方法。由于Decal贴花只能是方形的,既然不能改变贴花的形状,那就通过改变纹理贴图,设置材质的不透明度,间接产生不规则的形状。但这种方法也存在一定的问题,因为纹理的大小是一定的,在大比例尺下边缘锯齿问题十分明显,不如之前文章中基于3dtileset实现的贴地面效果好。

2.1 实现原理

主要过程是通过选取的点位使用RenderTargert绘制多边形,生成纹理,再将其应用给贴花,设置多边形外的不透明度为0,并调整Decal的大小和范围与实际相同即可。

2.1.1 Render Target

这里先简要介绍一下本文使用Render Target绘制三角形的与相关原理实现。

(1)首先点击【Texture】>【Render Target】&#x

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
Unity URP(Universal Render Pipeline)是Unity中的一种轻量级渲染管线,它提供了更高的性能和更好的图形品质。在URP中,可以通过Shader Graph实现花(Decals)功能。具体实现步骤如下: 1. 创建一个花材质 在Unity中创建一个新材质,并将其Shader设置为URP/Lit,然后在Inspector面板中勾选Enable Instancing和Double Sided属性。这样就创建了一个基本的花材质。 2. 创建一个Shader Graph 在Unity中创建一个新的Shader Graph,然后将它的Shader输出设置为URP/Lit。在Shader Graph中添加一个Texture 2D节点,并将其连接到Base Color输入。这个节点将作为我们的图。然后添加一个Sample Texture 2D节点,并将其连接到图节点。接着添加一个Vertex Color节点,并将其连接到Opacity输入,这样我们就可以使用顶点颜色来控制花的透明度。最后将所有节点连接起来,并将Shader Graph保存。 3. 创建一个花预制件 在Unity中创建一个新的空物体,然后添加一个Mesh Renderer组件和我们之前创建的花材质。接着在这个物体上添加一个Mesh Filter组件,并设置它的Mesh为一个面片(Quad)。最后将这个物体保存为一个预制件。 4. 在需要花的物体上添加Mesh Renderer组件 在需要添加花的物体上添加一个Mesh Renderer组件,并将它的Mesh设置为一个具有UV坐标的网格。然后在该物体上添加一个Decal Projector组件,并将其Material设置为我们之前创建的花材质。接着将Decal Projector的花预制件设置为我们之前创建的预制件,然后调整其大小和旋转,使其覆盖到需要花的物体上。 5. 调整顶点颜色 在需要花的物体上选择一个顶点,然后在Scene视图中选择Vertex Color工具,并将其颜色设置为白色。这样我们就可以在需要花的物体上绘制顶点颜色,控制花的透明度。 这样,我们就可以在Unity URP中实现花功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右弦GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值