Fluids —— Whitewater (SOP)

目录

 Whitewater Lifecycle

Workflow

Whitewater source

Deformation sources

Visualizing whitewater

Whitewater solver

Wind

Foam erosion

Repellants

Whitewater postprocess


        基于SOP的白水是对SOP FLIP工作流的增强;该系统与规模无关,无需考虑粒子数即可控制白水的物理量;可在低精度下控制好设置,在使用在高精度上;此系统支持foam, spray, 及bubbles的同步创建;

 Whitewater Lifecycle

        解算器负责生成新的白水粒子,使用由Whitewater Source生成的emit来确定发射量;粒子的老化与死亡也由解算器处理,根据当前条件,动态计算死亡;确定死亡几率时,会考虑以下因素:

  • age,更老的粒子更易死亡;
  • depth,深度的变化,死亡几率也会变化;
  • density,开启erosion,密度也会增加死亡几率;

高级用户可访问点属性deathchance

注,忽略其他因素,Lifespan是平均寿命;

Workflow

可使用Whitewater Configure,将创建4个节点以生成白水,可作为起点;

  • Whitewater Source,生成白水的emit场;
  • Whitewater Solver,白水设置且解算;
  • Whitewater Post-process,为渲染做准备;

FLIP Configure Beach Tank

Whitewater source

有多种不同方式来发生白水粒子

  • Curvature,使用粒子速度和表面法线间的角度,确保白水在浪尖;
  • Acceleration,基于流体速度的变化,可检测粒子重新加入流体的区域;
  • Vortcity,速度体积内的旋转强度,以确定流体的搅动区域(通常在表面更深的区域发生),如波浪崩开;
  • Pressure,基于压力梯度与surface梯度间的对齐,如两矢量方向相反则没有粒子发射;但一旦波浪冲击,方向将相同,则发射粒子;
  • Splash,直接作用于点并使用相对密度;
     

Deformation sources

另一方法是基于变形的发射,此方法用于识别流体表面的挤压Squish、拉伸Stretch、及缩放;

  • Squish,发射于表面被压缩的区域;
  • Stretch,发射于表面被扩展的区域;
  • Scale,基于在所有方向的压缩或扩展;

Visualizing whitewater

        Visualization标签可显示激活的不同发射类型,Curvature (red), Acceleration (green) 及 Deformation (blue);

Tips

  • 该节点默认会输出emitsurface, 及 vel,也可只emit以节省空间(关闭Output Fluid Fields);
  • 可开启Extra Sources,连入第四个端口,以将这些点转化为发射体积;
  • 如白水太少或太多,通常更好的方法是查看FLIP模拟;

Whitewater solver

有多种方式控制白水量,以下是一些最常用的方法;

  • Whitewater Scale,控制白水粒子间的间隔,降低参数会增加粒子量,如左600,000,右75,000;
     
  • Emission Amount, 发射白水量的简单倍增,如左600,000,右300,000;
     

Wind

         wind仅影响spray粒子,当粒子从表面升起时,将被wind影响,也有Wind Shadow使spray更加真实;其中Collider Shadow可使用碰撞体阻挡风影响,Water Shadow使用surface(如波浪)阻挡风影响;

如,spray黄,foam蓝,bubbles紫;

Foam erosion

        会在密度大的区域保留foam,在稀疏的区域侵蚀;这一功能是非常有用的,大量白水被发射时,开始是没有细节的大白块,增加侵蚀会使粒子更快的消失,并形成更多的洞;

 

注,可开启Visualization/Relative Density以查看;

Repellants

        创建并维持排斥粒子,将白水排斥开并形成蜂窝状泡沫结构,以下红色点表示;Repellant的半径和noise有许多变化,以使外观更有机;

Whitewater postprocess

为渲染做准备,可输出ParticlesFog Volume(沿速度场)、Mesh

  • Particles,默认输出,可获得大量细节,如海浪撞击岩石;
     
  • Fog Volume,对光穿过白水并被吸收有用;
     
  • Mesh,可在泡沫和没有泡沫间定义边有用;
     

Tips,如使用Domain/Flatten Outside Bounding Box选项,将白水粒子展平到水平面;对与整个海洋模拟融合时,很有用;可避免白水看起来像漂浮在surface上;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重温大学时奋斗的20条

重温大学时奋斗的20条 一.即哈佛训言20条。二.行稳致远体会对未来说的话 一.即哈佛训言20条。 1.This moment will nap, you will have a dream; But this moment study,you will interpret a dream. 此刻打盹,你将做梦;而此刻学习,你将圆梦。…

【开题报告】基于Servlet的湖南特产销售系统的设计与实现

1.选题背景 湖南是一个地理文化区域,拥有丰富的特产资源,如岳阳橘、衡山豆腐干、张家界辣椒等。随着互联网的发展,电子商务在特产销售领域扮演着越来越重要的角色。为了促进湖南特产销售业的发展,设计并实现一个基于Servlet的湖南…

k8s--集群调度(kube-scheduler)

了解kube-scheduler 由之前博客可知kube-scheduler是k8s中master的核心组件之一 scheduler:负责调度资源。把pod调度到node节点。他有两种策略: 预算策略:人为部署,指定node节点去部署新建的pod 优先策略:通过算法选…

js逆向第16例:猿人学第12题入门级js

文章目录 一、前言二、定位关键参数三、代码实现一、前言 任务:抓取这5页的数字,计算加和并提交结果 既然是入门级,那肯定很简单了 二、定位关键参数 控制台查看请求数据,m值应该就是关键参数了 进入堆栈 马上定位到了m值"m": btoa(yuanrenxue + window.pag…

解锁React中条件渲染的全面指南

React中的条件渲染全面指南 条件渲染是React中的一项强大功能,它允许开发人员根据某些条件来控制组件的显示。它在创建动态和交互式用户界面中发挥着至关重要的作用。但是,理解React中的条件渲染的工作原理以及掌握其实现可能对开发人员具有挑战性,特别是那些刚接触该框架的人…

JVM加载class文件的原理机制

1、JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后会写个复杂点class ,然后再找一些开源框架,比如Spring ,Hibernate 等等,再然后就开发…

Spacedesk | 最新版本移动端扩展PC副屏

我的设备: 电脑:戴尔G15 5511、i7-11800H、Windows 11、RTX3060(推荐显卡高级一些,算力差点的可能带不动这款软件) 平板:荣耀V6、麒麟985、安卓10、分辨率2000*1200(手机也行,我用的平板&…

图片双线性插值原理解析与代码 Python

一、原理解析 图片插值是图片操作中最常用的操作之一。为了详细解析其原理,本文以 33 图片插值到 55 图片为例进行解析。如上图左边蓝色方框是 55 的目标图片,右边红色方框是 33 的源图片。上图中,蓝/红色方框是图片,图片中的蓝/红…

行为型模式 | 观察者模式

一、观察者模式 1、原理 观察者模式又叫做发布-订阅(Publish/Subscribe)模式,定义了一种一对多的依赖关系。让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象&#xff0…

容灾演练双月报|DRCC助力中韩人寿完成核心系统年度演练任务

了解更多灾备行业动态 守护数字化时代业务连续 目录 CONTENTS 01 灾备法规政策 02 热点安全事件 03 容灾演练典型案例 01 灾备法规政策 2023年12月,工信部和国标委联合发布《工业领域数据安全标准体系建设指南(2023版)》&#xff0…

兔子目标检测数据集VOC格式340张

兔子,一种温顺而可爱的哺乳动物,以其独特的形态和特点而受到人们的喜爱。 兔子的体型小巧,通常呈圆锥形,有着柔软的毛发和圆溜溜的眼睛。它们的耳朵长而直立,能够听到细微的声音。兔子的前肢较短,后肢较长…

2023年中国产业格局巨变:电子行业崛起、新能源汽车崭露头角,500强企业大揭秘!

随着2023年的收官,最新中国公司500强市值排行榜也火热出炉。受地缘政治、全球经济下行等影响,本次榜单发生明显变化。台积电超越腾讯控股排名第一,共有76家新面孔跻身500强。具体来看,这些“明星企业”都集中在哪些行业&#xff1…

基于知识图谱的健康知识问答系统

基于知识图谱的健康知识问答系统 引言数据集与技术选型数据集技术选型 系统功能与实现数据导入与图数据库构建问答任务设计与实现1. 实体提取2. 用户意图识别 前端聊天界面与问答系统 结语 引言 随着互联网的发展,人们对健康知识的需求逐渐增加。为了更方便地获取健…

模型评估:余弦距离的应用

其实在模型训练过程中,我们在不断地评估着样本间的距离,如何评估样本距离也是定义优化目标和训练方法的基础。 在机器学习问题中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常使用余弦相似度…

Demo: 给图片添加自定义水印并下载

给图片添加自定义水印并下载 <template><div class"wrap"><div class"optea"><div class"file-upload"><p>选择图片</p><el-button type"text" style"color: #c00;"><label f…

微信小程序swiper实现层叠轮播图

在微信小程序中,需要实现展示5个&#xff0c;横向层叠的轮播图效果&#xff0c;轮播图由中间到2侧的依次缩小.如下图 使用原生小程序进行开发,没有使用Skyline模式&#xff0c;所以layout-type配置项也无效。所以基于swiper组件进行调整。 主要思路就是设置不同的样式&#xff…

sdbusplus:method同步调用通用函数

dbus的method操作的方式也比较类似,可以尝试封装成通用函数: //dbus_call.hpp #pragma once#include <utility> #include <boost/asio.hpp> #include <sdbusplus/asio/connection.hpp> #include <sdbusplus/bus.hpp> #include <sdbusplus/messag…

android启动流程

BootROM 这个固化在rom里 Bootloader 启动kernel前的准备工作&#xff0c;包括正常启动与recovery&#xff0c;烧写等不同做出判断 启动kernel会传些参数 重点是android启动流程 1. 驱动加载 比如usb, light, audio, camera, bt, wifi等 2. init 见system/core/init/init.c…

操作系统 进程相关

1 进程、线程、协程 定义 【Are u OKay&#xff1f;——协程、线程、进程】 https://www.bilibili.com/video/BV1Wr4y1A7DS/?share_sourcecopy_web&vd_source1e4d767755c593476743c8e4f64e18db 高并发&#xff1a;线程池&#xff0c;不要无休止的创建线程。--> task…

一起学习python类的属性装饰器@property

之前文章我们介绍了class的一些通用功能&#xff0c;比如类属性/类方法/实例属性/实例方法等&#xff0c;之前的属性可以直接修改和访问&#xff08;设置私有属性&#xff0c;不能直接访问,可通过对象名._[类名][属性名]的方式访问&#xff09;&#xff0c;没有一些权限的控制逻…