千家信息网

Unity如何做流体物理的几个轮子

发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,小编给大家分享一下Unity如何做流体物理的几个轮子,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!内部实现就是Liquid
千家信息网最后更新 2024年10月24日Unity如何做流体物理的几个轮子

小编给大家分享一下Unity如何做流体物理的几个轮子,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

内部实现就是Liquidfun

也提供了metaball实现(虽然2D的metaball实在没啥可说的)

half4 frag (v2f i) : COLOR  {      half4 texcol,finalColor;      finalColor = tex2D (_MainTex, i.uv);
if(finalColor.a < _botmcut) { finalColor.a = 0; } else { finalColor.a *= _constant; } return finalColor; }

原理就是按透明度阈值discard掉阈值外的像素,圆片的实际范围会比显示的多探一部分出去,两个圆片探出来的部分叠在一起,透明度就会超过阈值变得能够显示,看起来两个水滴就会粘连在一起了,而不是相互独立的圆。

但是3D水不能只考虑密度,还要考虑法线。且3D空间里密度也不能简单Blend实现叠加,3D空间同时也会因为纹理的大小限制而不能像2D空间这么铺张浪费,导致算法变得完全不同。2D水渲染是看起来复杂实际上很简单的例子,而3D水渲染恐怕就是看起来复杂实际上更复杂的例子了。

不过令我比较意外的是,Liquidfun里面大部分示例都没有用metaball技术,而是直接用AlphaBlend将全部粒子绘制上去的。它使用了大小接近像素的粒子,然后根据物理计算出来的流体密度来直接给粒子着色(水面和泡沫密度低所以是白色的,水底密度高所以是深色的),已经可以得到足够理想的结果。

仔细想想和metaball根据透明度重映射差不多,它只是把累计密度的部分直接放到了物理上处理,然后往屏幕上直接画点罢了。

它最后的这个weight演示能充分体现出其着色原理。


以上是"Unity如何做流体物理的几个轮子"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

密度 物理 流体 复杂 实际 就是 空间 篇文章 粒子 透明度 阈值 轮子 两个 例子 像素 内容 原理 大小 大部分 实际上 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美世科技与互联网行业 图书馆数据库资源下载 腾讯手机管家网络安全防护 计算机网络安全讲课稿 我国蜂窝移动网络技术 网吧电脑读不到服务器无限重启 明日之后显示服务器断开怎么办 共享软件开发方案 浙江浪潮服务器维修调试云主机 计算机网络安全的对策措施 网络安全 罚款 广东无线软件开发价目表 面试问你为什么转行学软件开发 福建省金山网络技术有限公司 网络安全项目规划 网站计划软件开发 派出所强化公安信息网络安全 江西红色文化馆软件开发公司 济南浪潮数据库开发工程师 汇聚年轻力量共建网络安全演讲稿 给我打开网络安全手抄报 诺顿网络安全序列号 虹口区什么是网络技术代理品牌 汇然网络技术开发服务范围 网络安全创新联盟名单 成都安卓软件开发哪家便宜 可以自己搭建服务器吗 华为高密度服务器检测维修 不同数据库安全 数据库系统界面
0