UE4 交互雪 学习笔记

news/2025/1/16 18:42:00/

首先创建:

一个蓝图,一个材质,一个Render Target 

A就是在一个范围内中的,中点B上,在范围0.8倍的A范围内外加0.1的外部弱化为返回结果,结果内部返回值为1,外部返回值为0,用于绘制部分玩家行走而画的轨迹

材质模块:

下面是世界坐标转换UV的材质逻辑


蓝图:

和材质同步,世界场景位置转化为UV的位置只需要除以2000

在世界中画玩家位置的痕迹

如何计算屏幕位置:用玩家位置转化成UV位置,再乘以分辨率即可变成屏幕左上角的位置,再减去画笔大小的一半,即可在玩家的中心位置进行绘制玩家轨迹

效果如图:


让范围跟到玩家动(全世界都支持画轨迹)

首先声明位置和大小,通过这两个值动态控制其位置

创建一个材质函数,将世界位置的任何位置都支持一个Location对应其UV 

原理图如上

然后将函数替代之前的世界位置转化UV位置(M_Snow)

既然材质的位置转换UV位置的方法变了,那么蓝图的也要相应的变化,不然不能互相转化出正确的位置:

然后制作一个可以显示的范围用于观看:

材质:

将材质赋给测试用的Plane里面

最后在构造内将之位置和大小初始化

效果如下:


 

将位置信息全部每帧更新,让画板一直追随着玩家,那么就可以在任何地方去绘制轨迹,绘制轨迹时需要有像素偏移

这里需要对像素进行对齐,不然画出来的图像不清晰 

所以在材质里面绘制偏移:

偏移过后,由于不想要范围以外的颜色,则将之BoxMask掉,就看不见了

再由于RT不能在采样的同时进行绘制,所以我们做两张RT,一张采样,一张绘制

将最开始的RT存在另一张RT上

再对新的一张RT上进行做偏移,最后再将新的RT画在最开始的RT上,最开始的RT再绘制最新玩家画的轨迹

最后在Tick里面写主画布清空,更新世界转化UV的位置

效果如下: 


制作SceneComponent组件,方便去使用它

在人的脚下放两个该插件 

射线检测,如果检测到有物体的话就加入画点让画布去绘制,我这里给的Snow Height为30

这里进行将组件内的绘制信息进行绘制

在画布的Tick内

效果如下:

为防止画多个图片后,图片与图片之间过度不平滑,所以:

再写一个材质,取最大值,就不会有黑色的分界面了

最后把它替换掉

效果如下图:


最后设置雪的深度

再对Snow的材质颜色反转:

效果如下:

最后对像素大小进行设置,像素大小等于能够行走的范围除以RT的分辨率


最后做图片的法线效果:

雪材质最后节点为上方 

改成次表面

单独再画一个场景雪地

制作完成:


http://www.ppmy.cn/news/37842.html

相关文章

信任度睛雨表

https://www.cnblogs.com/wuhuacong/p/16399567.html 信任度睛雨表 amis - 低代码前端框架 https://gitee.com/lyt-top/vue-next-admin/ https://www.51cto.com/article/740113.html vue-next-admin https://baike.baidu.com/item/%E4%B8%96%E7%95%8C%E5%93%81%E7%89%8C%E5%AE…

继承(C++)

继承继承的概念及定义继承的概念继承的定义定义格式继承关系和访问限定符继承基类成员访问方式的变化基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员复杂的菱形继承及菱形虚拟继承虚拟继承的原理继承的概念及定义 继承的概念 继承是面…

C++学习记录——십팔 多态

文章目录1、了解2、多态的条件1、析构函数重写2、协变3、关键字final和override4、重写(覆盖)、重载、隐藏(重定义)对比3、抽象类4、多态的原理1、虚函数表2、原理为什么父类指针或者引用可以,但实例化出的对象不可以形…

全网最详细的UI自动化测试元素定位方法总结

目录 前言 元素定位概述 常用的元素定位器 元素定位方法 元素定位技巧 总结 前言 UI自动化测试是软件测试中的一个重要环节,它可以通过模拟用户的实际操作,自动化执行UI界面上的测试用例,以提高测试效率和准确性。元素定位是UI自动化测…

vue尚品汇商城项目-day02【15.动态展示三级菜单联动】

文章目录15.动态展示三级菜单联动15.1动态调用展示三级菜单步骤15.2完成一级菜单鼠标划入显示背景色15.3控制二三级商品分类的显示与隐藏15.4演示卡顿现象引入防抖与节流15.5三级联动组件的路透跳转与传递参数本人其他相关文章链接15.动态展示三级菜单联动 问题1: 代…

Java设计模式(六)桥接模式

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 它的主要特点是把抽象…

如何使用ChatGPT写论文?

使用ChatGPT写论文详细操作步骤 说明ChatGPT是一款ai产品,尽管它非常强大,对我们来说本质上也仅仅是一个辅助工具,切勿让AI完全取代我们的思考能力。目前的ChatGPT写论文还不能一步到位,只能通过一些技巧来完成整篇论文。使用Cha…

centos7在docker上安装es(elasticsearch)

因为需要部署kibana容器,因此需要让es和kibana容器互联 1.创建网络 docker network create es-net 2.将es的tar文件拉取到虚拟机中(因为es文件较大,不建议直接使用docker进行拉取) 没有es.tar文件的可以下载: 链接…