CeisumForUE|材质实现自定义遮罩形状压平3dtiles、OSGB文件

压平效果

压平后

压平前

制作遮罩图

步骤一:利用大势智慧将3dtiles或osgb文件输出为正射图,注意若输出图片失败可以尝试转换为另外的格式再进行正射图输出。

 步骤二:将正射图制作成需要的遮罩黑白图片

制作虚幻材质

创建材质函数

创建材质函数如图

创建对位材质

为了方便对遮罩位置再创建一个测试用的对位材质

将材质放入cesium渲染材质中

 为了确保遮罩等比例需要手动填入图片比例

对准遮罩后记住参数数值 

创建参数集

因为cesium中利用材质压平需要对材质集中的所有子材质进行压平函数的添加,所以我们用参数集保证统一操作。

创建材质参数集,并将对位材质中的参数一一填入

 制作Cesium材质图层及材质实例

 1.在插件文件夹中找到MI_CesiumThreeOverlays材质实例。(材质路径:CesiumForUnrealContent>Materials>Instances)

2.将材质复制到到项目文件夹中,并将其重命名。单击鼠标右键,然后创建一个新的材质层(创建高级资源>材质和纹理>材质层)。打开材质层并加入参数集如下。

3.双击打开材质实例,打开图层参数

 将overlay2中引用的材质集换成我们刚才新建的,并将混合图层换成WPO

 4.将图层参数中的每一个被引用到的参数集材质都添加参数集及材质函数至世界位置偏移。(最好将其每个都复制到项目位置再更改,避免原插件材质被改)

 5.将材质实例拖入Cesium材质渲染中

可以看到遮罩位置被压平, 压平高度为参数集中的Height参数决定,是UE世界坐标Z值

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FairyGUI 是一款强大的 UI 编辑器和 UI 框架,其中的功能可以让我们在 UI 中实现一些非常有趣的效果。在 FairyGUI 中,我们可以使用自定义图形作为,这篇文章将会介绍如何实现定义。 1. 创建自定义 首先,在 FairyGUI 编辑器中创建一个 UI 节点,并将其属性中的 Mask Type 设置为 Image,这将使该节点成为一个层。然后,为该节点添加一个 Image 组件,并将其作为的图像。 接下来,我们需要编写脚本来指定形状。我们可以创建一个自定义脚本,继承自 FairyGUI 的 IMask 接口,并实现其中的一个方法:OnPopulateMesh。在这个方法中,我们需要创建一个 Mesh 对象,并设置其顶点和三角形,以定义形状。 下面是一个简单的例子: ```csharp using UnityEngine; using FairyGUI; public class CustomMask : MonoBehaviour, IMask { public void OnPopulateMesh(VertexHelper vertexHelper) { Mesh mesh = new Mesh(); Vector3[] vertices = new Vector3[4]; int[] triangles = new int[6]; float width = 200f; float height = 100f; vertices[0] = new Vector3(0f, 0f); vertices[1] = new Vector3(0f, height); vertices[2] = new Vector3(width, height); vertices[3] = new Vector3(width, 0f); triangles[0] = 0; triangles[1] = 1; triangles[2] = 2; triangles[3] = 0; triangles[4] = 2; triangles[5] = 3; mesh.vertices = vertices; mesh.triangles = triangles; vertexHelper.AddUIVertexStream(new List<UIVertex>(), mesh); } } ``` 在这个例子中,我们创建了一个矩形的,并将其顶点和三角形添加到了 Mesh 对象中。然后,我们使用 VertexHelper 对象将这个 Mesh 对象传递给层,以便在 UI 中显示出来。 2. 将自定义脚本添加到层 在脚本编写完成后,我们需要将其添加到层中。在 FairyGUI 编辑器中,我们可以选择层节点,并在属性中的 Mask 中选择 Custom Mask。然后,在 Custom Mask 中选择我们刚才编写的自定义脚本。 3. 测试效果 现在,我们可以在场景中测试我们的自定义了。我们可以在层的子节点中添加一些 UI 元素,并在运行时观察的效果。如果一切正常,我们应该能够看到 UI 元素被的效果。 总结 FairyGUI 的自定义功能非常强大,可以让我们在 UI 中实现各种有趣的效果。通过编写自定义脚本,我们可以创建各种形状,并将其应用到 UI 中。希望这篇文章能够帮助你理解 FairyGUI 的自定义功能,以及如何使用它来实现自己的 UI 效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值