UE4_材质节点_有关距离的_流体模拟
一、材质节点介绍:
特别注意:距离场需要独立显卡支持。
1、什么是距离场?
想象一下空间中只有两个实体, 一个球,一个圆柱.
空间由无数个点组成, 取其中任何一个点, 比如,它跟球面的最近距离是3, 跟圆柱面的最近距离是2, 那么这个点的值就是2. 空间中所有的点都按照这个方法取值, 就形成了一个标量场, 称为距离场.
距离场计算出来以后, 能够得到场中任何一个点跟所有参考物体(比如上例中的球和圆柱)之间的最近距离.
如果距离场的值表现为图像的明度, 它的视觉印象是一个个由参考物体分割出来的渐变区域.
2、距离场的开启
点击 主(Main) 菜单上的 编辑(Edit) 并选择 项目设置(Project Settings) 将其打开。
点击 渲染(Rendering)> 软件光线追踪(Software Ray Tracing) ,可找到用于调整网格体距离场的设置。

3、距离场的查看


4、DistanceToNearestSurface(与最近表面的距离)蓝图节点

与最近表面的距离(DistanceToNearestSurface) 材质表达式节点允许材质对"全局距离场"关卡中的任何点进行取样。 这个材质表达式将输出从距离场到场景中最近遮挡体的带符号距离(以全局空间单位计)。
必须在 项目设置(Project Settings) 的 渲染(Rendering) 下启用 生成网格体距离场(Generate Mesh Distance Fields) ,此表达式才能正确工作。

节点尝试理解:
根据理解与最近表面的距离获取的应该是个标量,我们除以一个值,使渐变区域变大以观察效果。

把这个材质赋予场景中的平面,这样平面上的自发光颜色根据这个距离除以100进行发光。

这样我们就理解了这个节点了,获取到的是物体上每个像素点到最近物体表面的距离。为了验证我们在添加一个物体看看效果:



在此示例中,DistanceToNearestSurface输送到材质上的"不透明"(Opacity)输入,而该材质应用于放在关卡地板正上方的"静态网格"平面。 DistanceToNearestSurface的作用是告诉材质,"静态网格"平面仅从红色区域开始与场景中的其他"静态网格"相交。


5、DistanceFieldGradient(距离场梯度)蓝图节点

距离场梯度(DistanceFieldGradient) 材质表达式节点进行规范化(normalize)后,将输出对象在距离场中的X,Y,Z移动方向。方向是从物体到材质物体的方向。 这使DistanceFieldGradient材质表达式节点非常适合于需要模拟液体流的材质。
必须在 项目设置(Project Settings) 的 渲染(Rendering) 下启用 生成网格体距离场(Generate Mesh Distance Fields) ,此表达式才能正确工作。
材质节点尝试:
半透明材质渲染距离场是有点小问题的:


换成不透明材质效果如下:

为了看清楚效果,自发光乘以一个数值。


看另一个效果:


再看另一个效果:


看完你会发现还是规范化省事,并且这个节点是既带有方向又带有距离的。
这里是在材质中使用 DistanceFieldGradient 材质表达式的示例。 在此示例中,请务必注意,DistanceFieldGradient首先进行规范化,然后输入到"Mask Channel节点。 这样做的原因是,如果不首先对DistanceFieldGradient进行规范化,您将无法获得方向性数据。 为了方便在材质实例中进行RGB通道切换,添加了"遮罩通道"(Mask Channel)参数。

以下是作用中的DistanceFieldGradient示例。 下图显示启用各种RGB后DistanceFieldGradient将会使用的数据。


二、流体中应用:
相关文章:
UE4_材质节点_有关距离的_流体模拟
一、材质节点介绍: 特别注意:距离场需要独立显卡支持。 1、什么是距离场? 想象一下空间中只有两个实体, 一个球,一个圆柱. 空间由无数个点组成, 取其中任何一个点, 比如,它跟球面的最近距离是3, 跟圆柱面的最近距离是2, 那么这个点的值就…...
虚拟现实(VR)与增强现实(AR)有什么区别?
虚拟现实(Virtual Reality,VR)与增强现实(Augmented Reality,AR)在多个方面存在显著差异。以下是对这两者的详细比较: 一、概念定义 虚拟现实(VR): 是一种…...
浏览器中输入一个URL后,按下回车后发生了什么
URL ,统一资源定位符, 简单点就是网址 ip 或域名 端口号 资源位置 参数 锚点 大致流程 URL 解析DNS 查询TCP 连接处理请求接受响应渲染页面 1 .输入一个网址之后,首先浏览器通过查询 DNS ,查找这个 URL 的 IP …...
GNOME(GNU Network Object Model Environment)
定义与概述 GNOME(GNU Network Object Model Environment)是一种广泛使用的桌面环境。它是一个自由软件项目,旨在为操作系统提供一个直观、易用且功能强大的图形用户界面(GUI)。GNOME主要运行在类UNIX操作系统上&#…...
源码分析之Openlayers中的Collection类
概述 在Map类中,有一种高频出现的类Collection(即集合),比如Map类中interaction、controls和overlay的定义初始化和一些操作调用都和Collection有关。本文主要介绍 Openlayers 中Collection类的实现以及Collection类的事件机制。 源码剖析 Collection类 Collection类本质…...
Spring AI 框架介绍
Spring AI是一个面向人工智能工程的应用框架。它的目标是将Spring生态系统的设计原则(如可移植性和模块化设计)应用于AI领域,并推广使用pojo作为AI领域应用的构建模块。 概述 Spring AI 现在(2024/12)已经支持语言,图像…...
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
UPDATE 和 DELETE 操作的正确使用 UPDATE 和 DELETE 是 Oracle 11g 中用于修改和删除表中数据的重要 SQL 语句。在操作时,需特别注意数据筛选条件的准确性,以避免意外更改或删除数据。本文将详细介绍这两种语句的用法、注意事项及相关案例。 一、UPDATE…...
Advanced Macro Techniques in C/C++: `#`, `##`, and Variadic Macros
Advanced Macro Techniques in C/C: #, ##, and Variadic Macros 文章目录 Advanced Macro Techniques in C/C: #, ##, and Variadic MacrosIllustrative Examples of Macros Using # and ##Stringification ExampleToken Concatenation ExampleNested Macros Example Key Conc…...
Maven、JAVAWeb、Servlet
知识点目标 1、MavenMaven是什么Maven项目的目录结构Maven的Pom文件Maven的命令Maven依赖管理Maven仓库JavaWeb项目 2.网络基础知识 3、ServletMaven Maven是什么 Maven是Java的项目管理工具,可以构建,打包,部署项目,还可以管理…...
分布式资源调度——yarn 概述(资源调度基本架构和高可用的实现)
此文章是学习笔记,图片均来源于B站:哈喽鹏程 yarn详细介绍 1、yarn 简介1.1 yarn的简介1.2 yarn 的基本架构1.3. yarn 的高可用 2、yarn 调度策略、运维、监控2.1 yarn 的调度策略2.1.1 FIFO scheduler(先进先出)2.1.2 容量调度2.1.3 公平调度 2.2 yarn…...
网页开发的http基础知识
请求方式-GET:请求参数在请求行中,没有请求体,如:/brand/findAll?nameoPPo&status1。GET请求大小在浏览器中是有限制的请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的 HTTP请求…...
学习方法的进一步迭代————4
今天又在怀疑第二大脑的可靠程度 为什么呢? 还是因为自己没记住东西,感觉没学到东西。 其实自己知道大脑本就不应该用来存放知识而是用来思考知识,但是自己还是陷在里面了,我觉得其本质不是因为认知还不够,也不是因为还有点不适…...
数据科学家创建识别假图像的工具
Pixelator v2 是一款用于识别假图像的工具。它采用了全新的图像真实性技术组合,其能力超出了人眼所能看到的范围。 它能够以比传统方法更高的准确度识别图像中的细微差异,并且已被证明能够检测到小至 1 个像素的交替。 使用 SSIM 和 Pixelator v2 突出显…...
使用 GORM 与 MySQL 数据库进行交互来实现增删改查(CRUD)操作
1、安装 GORM 和 MySQL 驱动 新版本库是gorm.io/gorm go get -u gorm.io/gormgo get -u gorm.io/driver/mysql2、连接 MySQL 数据库 package mainimport ("gorm.io/driver/mysql""gorm.io/gorm""log" )func main() {// 数据源名称 (DSN) 格式&a…...
Day2 生信新手笔记: Linux基础
一、基础知识 1.1 服务器 super computer 或 server 1.2 组学数据分析 组学数据:如基因组学、转录组学、蛋白质组学等; 上游分析:主要涉及原始数据的获取和初步处理,计算量大,消耗的资源较多,在服务器完…...
001集—— 创建一个WPF项目 ——WPF应用程序入门 C#
本例为一个WPF应用(.NET FrameWork)。 首先创建一个项目 双击xaml文件 双击xaml文件进入如下界面,开始编写代码。 效果如下: 付代码: <Window x:Class"WpfDemoFW.MainWindow"xmlns"http://schema…...
【C++】1___引用
一、基本语法 数据类型 &别名 原名 #include<iostream> using namespace std; int main(){int a 10;int &b a;cout<<"a"<<a<<endl; // a10cout<<"b"<<b<<endl;// a10b 20;cout<<"a…...
如何通过 JWT 来解决登录认证问题
1. 问题引入 在登录功能的实现中 传统思路: 登录页面时把用户名和密码提交给服务器服务器验证用户名和密码,并把检验结果返回给后端如果密码正确,则在服务器端创建 session,通过 cookie 把 session id 返回给浏览器 但是正常情…...
高效集成:将聚水潭数据导入MySQL的实战案例
聚水潭数据集成到MySQL:店铺信息查询案例分享 在数据驱动的业务环境中,如何高效、准确地实现跨平台的数据集成是每个企业面临的重要挑战。本文将聚焦于一个具体的系统对接集成案例——将聚水潭的店铺信息查询结果集成到MySQL数据库中,以供BI…...
Jenkins-基于 JNLP协议的 Java Web 启动代理
在上一篇的基础配置上进行以下步骤 工作流程: 通过 JNLP 启动代理,客户端从 Jenkins 服务器上下载一个 agent.jar 文件。该文件启动时,代理程序通过 JNLP 协议连接到 Jenkins 主节点。一旦连接成功,代理节点就可以执行从主节点分…...
从PaddlePaddle 2.2.2平滑升级到2.4.2的实战指南
1. 升级前的准备工作 在开始升级PaddlePaddle之前,我们需要做好充分的准备工作。首先检查当前环境,确保系统满足升级要求。我建议创建一个新的Python虚拟环境来隔离升级过程,这样可以避免影响其他项目。使用conda创建环境的命令如下ÿ…...
在Windows上用C++部署YOLO11模型:从PyTorch训练到QT桌面应用的全流程避坑指南
工业级YOLO11模型C部署实战:从PyTorch到QT6.9的工程化落地指南 当Python训练的AI模型需要真正投入生产线时,C部署往往成为必经之路。去年在为某电子元件制造商部署电容极性检测系统时,我深刻体会到从Jupyter Notebook到稳定运行的Windows桌面…...
基于遗传算法(GA)求解冷链路径优化问题的matlab代码(带说明文档)
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...
VMware ESXi上玩转Proxmox VE:手把手教你搭建家庭虚拟化实验室(含OpenWrt配置)
VMware ESXi与Proxmox VE的融合实践:打造高性能家庭虚拟化平台 在家庭技术爱好者的世界里,搭建一个功能强大且灵活的虚拟化环境已经成为一种趋势。将VMware ESXi与Proxmox VE这两种优秀的虚拟化平台结合起来,不仅能充分利用现有硬件资源&…...
DDPG与TD3算法训练中tanh饱和区导致的边界值问题分析与调优
1. 为什么DDPG/TD3会卡在动作边界值? 第一次用DDPG训练机械臂控制任务时,我盯着监控曲线看了整整三天——那个该死的关节角度永远卡在30度的极限位置。后来换成TD3算法,发现同样会陷入这个怪圈。这就像新手司机开车总把方向盘打死,…...
HDLC(高级数据链路控制):从帧结构解析到C语言模拟实现
1. HDLC协议基础:从比特流到可靠传输 第一次接触HDLC协议时,我盯着那串01111110的标志位发了半天呆——这不就是个简单的比特序列吗?怎么就能成为整个协议的基础?后来在调试卫星通信模块时才发现,正是这个看似简单的设…...
GLM-4-9B-Chat-1M实战:vLLM部署教程+Chainlit前端搭建,一步到位
GLM-4-9B-Chat-1M实战:vLLM部署教程Chainlit前端搭建,一步到位 1. 项目概述 GLM-4-9B-Chat-1M是智谱AI推出的新一代预训练模型,支持高达1M(约200万中文字符)的上下文长度。本教程将带您完成从模型部署到前端搭建的完…...
SAR成像CS算法实战:从原理到点目标仿真的MATLAB实现
1. CS算法在SAR成像中的核心价值 第一次接触SAR成像处理时,我被CS(Chirp Scaling)算法的精妙设计震撼到了。这个算法就像一位经验丰富的魔术师,能够将雷达回波中的距离徙动(RCMC)和二次距离压缩(…...
逐行Hybrid A*路径规划与混合A星泊车路径规划的源码分析(MATLAB版)
逐行hybrid astar路径规划 混合a星泊车路径规划 带你从头开始写hybridastar算法,逐行源码分析matlab版hybridastar算法咱们今天唠唠混合A星(Hybrid A*)路径规划,这玩意儿在自动泊车场景用得贼溜。和传统A星最大的区别在于它能处理…...
别再只盯着代码了!手把手教你读懂Cartographer的PGM和YAML地图文件(附Notepad++实操)
从二进制到坐标系:Cartographer地图文件深度解析与实战调参指南 当你第一次打开Cartographer生成的.pgm和.yaml文件时,是否感觉像在解读某种外星密码?那些数字和参数背后,藏着机器人如何理解世界的秘密。本文将带你像侦探一样拆解…...
