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

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

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 插件配置的拓扑