unity插件_试用_流体ObiFluid

2023-10-29 23:08

本文主要是介绍unity插件_试用_流体ObiFluid,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

unity插件_试用_流体ObiFluid

  • 原理分析(个人看法)
  • 基础组件说明(试用,只介绍关键参数)
    • ObiFluildRenderer(摄像机上实际渲染的组件)
    • Obi Solver(解决者,解算器)
    • Obi Emitter(发射器)
      • ObiParticleRenderer(液体的renderer)
      • EmitterShape(发射器类型)
    • Rig相关
    • 相关ScriptableObject
      • ObiEmitterMaterialFluid(液体材质)
      • ObiEmitterMaterialGranular(烟尘材质)
      • ObiCollisionMaterial(碰撞材质)
  • 使用步骤
    • 创建出水口
    • 创建一个与水交互的物体

原理分析(个人看法)

生成大量带物理效果的小球(点),通过类似鱼群的算法对小球进行约束(模拟水的压力,张力什么的),最后通过小球的点来算出液体的表现。算出边缘的小球绘制液体圆滑的边缘,中心部位根据小球的密度来加深颜色。(取消勾选ObiParticleRenderer上的Render变量可以看小球)

B站CodeMonkeyUnity制作的建议流体,原理跟我描述的类似.

基础组件说明(试用,只介绍关键参数)

大部分只要翻译单词就能懂的变量不会介绍

ObiFluildRenderer(摄像机上实际渲染的组件)

在这里插入图片描述
如果camera上没有这个组件,或者该组件未启用则实际运行看不到液体
属性:
(1)ParticleRenderers 该摄像机会拍摄的流体的renderer数组,未挂载的拍不到
动态更改后要重新关闭打开一次才会刷新
(2)BlurRadius 模糊半径,range(0f,0.1f)
BlurRadius为0时
BlurRadius为0时
BlurRadius为0.1时
BlurRadius为0.1时
(3)thickness cutoff 厚度截止,range(0.01f,2f)
thickness cutoff为0.01
thickness cutoff为0.01时
thickness cutoff为2时
thickness cutoff为2时
(4)ColorMaterial 颜色材质球,与ObiParticleRenderer的颜色乘法叠加(应该)
(5)FluidMaterial 流体材质球
最后两个材质球在添加该组件时有个默认的,没仔细研究

Obi Solver(解决者,解算器)

在这里插入图片描述
实际计算小球位置的处理器
公开属性:
(1)MaxPartices 该处理器的总小球数,每个Emitter在初始的时候会在Solver申请预算。Solver的usedPartices显示的是被申请预算的值(成功申请预算的Emitter的MaxPartices总和,没申请到的不起效),而不是当前每个Emitter的UsedPartices的总和
(2)Parameters 属性
1.Mode 2D还是3D

Obi Emitter(发射器)

在这里插入图片描述
公开属性:
(1)Solver 指定处理器
(2)CollisionMaterial 小球的碰撞材质,可以不加
(3)EmitterMaterial 小球的材质(液体材质或烟尘材质)
(4)NumParticles 小球数量限制(在Solver上面讲过)
(5)WorldVelocityScale 改了没感觉
(6)FluidPhase 没感觉
(7)Speed 发射器的初始速度,速度慢会有一滴一滴的感觉
(8)Lifespan 生命周期,单位秒
(9)RandomVelocity 随机速度的方法,调高了有出水口水花四溅的感觉

ObiParticleRenderer(液体的renderer)

公开属性
(1)Render 勾选时候显示小球,取消勾选显示液体(要在ObiFluildRenderer那边添加,上面说过)
(2)ParticleColor 显示液体时的颜色
(3)RadiusScale 每个小球在画大球时候的半径(原理分析说过),如果值太小,小于ParticleSize的话可能根本看不到液体(ParticleSize在后面会讲)

EmitterShape(发射器类型)

在这里插入图片描述
请按名称自行尝试

Rig相关

在这里插入图片描述
ObiRig要求已经添加过unity的Rig
ObiCol要求已经添加过unity的Col
ObiCol中的CollisionMaterial可以不管

注:ObiRig的KinematicForParticle勾选时会屏蔽液体的力,但是不会改变当前的运动状态。demo场景FluidMill可以试验

相关ScriptableObject

ObiEmitterMaterialFluid(液体材质)

在这里插入图片描述
在这里插入图片描述
简单说RestDensity(密度)越小Mass(质量)越小
Resolution越小,Mas跟Size都越小

ObiEmitterMaterialGranular(烟尘材质)

在这里插入图片描述

ObiCollisionMaterial(碰撞材质)

在这里插入图片描述

使用步骤

创建出水口

(1)创建处理器
右键/3DObject/Obi/ObiSolver
(2)创建发射器
右键/3DObject/Obi/Emitter
(3)创建液体材质
Assets/Create/Obi/Create ObiEmitterMaterialFluid
(4)配置Emitter
在Emitter上设置Solver跟EmitterMaterial
(5)摄像机配置
在camera上添加ObiFluildRenderer组件,并把刚生成的Emitter拖拽到ObiFluildRenderer的ParticleRenderers之中

创建一个与水交互的物体

(1)创建模型
(2)添加刚体,碰撞器
(3)添加Obi的rig跟col
(4)如果修改过Solver的CollisionLayers,要检查一下物体的layer
Mess值低(质量轻)的物体可以浮在水面

unity应用商店地址

这篇关于unity插件_试用_流体ObiFluid的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/303979

相关文章

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl