找回密码
 立即注册
查看: 349|回复: 0

Unity VFXGraph入门学习(二)-模拟天气案例

[复制链接]
发表于 2022-3-10 15:22 | 显示全部楼层 |阅读模式
前言

参考链接:
    VFXGraph官方文档:(https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@6.9/manual/index.html)

  • VFXGraph 模拟天气官方教程(可以下载相关资源):
    (https://learn.unity.com/tutorial/simulating-weather-with-the-vfx-graph-unity-2018-lts-1?projectId=&uv=2018.4#)
一、介绍

制作关于雪的三个属性:
    雪沿着空气和风的速度流动.雪移动的越快,显的越条纹.降雪强度不同.

本章学习案例主要是模拟这三种状态.

参考官方VFXGraph Blocks Glossary
二、使用VFXGraph实现效果

1.Spawn块实现


Spawn(类似于 Awake() 调用).
    添加周期和范围: SpawnRate(浮点数 ),SpawnRange(Vector2 )
  • Periodic Total Time: 周期变化率
    实现系统中的粒子数量随时间变化。

image

2.Initialize Particle块实现


Initialize相当于Unity声明周期中Start() 调用.


  • Capacity: 粒子的最大容量值
    这里将粒子的最大容量值设置50000,这完全够用.

  • Set Velocity Random: 设置随机速度
    将SetVelocityRandom中值大小统一增加至少+-10可以增加粒子移动体积,使粒子均匀分布在场景中,并为他们提供随机速度.

  • Set Position: 设置粒子发射初始位置
    Y=12为粒子添加高度,营造雪从天而降的错觉.

  • Sine Wave(float):正弦波节点
    为了添加正弦波评估随事件变化的值.

  • TotalTime:总时间节点
    创建一个总时间节点并将其输出拖到正弦波节点的输入。

image

3.Update Particle块实现


Update(Update() 调用).

这里虽然系统的基本行为已经完成,但粒子本身仍然沿直线向外移动。我们将修改更新上下文以使粒子移动,就像它们沿着气流流动一样。

实现用矢量场模拟运动和缩放:

  • Vector Field Force:矢量力场, 提供 3D 矢量场纹理作为输入
    此这个 3D 纹理用 3D 空间中的向量数组填充我们之前定义的速度体积。每个向量都沿粒子在3D空间中的定向方向推进粒子.

矢量力场充当 3D 空间中气流的数字表示。这可以通过想象在天气预报程序中显示气流来最好地概念化.


  • Turbulence: 湍流块
    要向矢量场添加更多发散,将湍流块添加必不可少,并增加其强度.

  • Set Scale.XY by Speed:根据粒子的速度动态地更改粒子的大小
    在场景中使它们具有更像雪的条纹外观。

请注意此块的 Speed Range 属性。X 值表示我们将考虑的最小速度,Y 值表示将考虑的最大速度。与 Set Size over Life Block 类似,这个 Block 将这个范围映射到 0 到 1 之间的值。我们希望每个粒子的 X 尺度在接近最大速度时减小,而每个粒子的 Y 尺度增加。

需要设置Scale xy动画曲线属性:
X:


image

Y:


image


image

4.Output Particle Quad块实现


Output(定义生成的粒子应该如何渲染到屏幕上).


  • Orient: Along Velocity
    将模式从“FaceCameraPlane”更改为“AlongVelocity”。这将使雪粒子面向它们行进的方向。
    Set Size over Life: 按存活时间设置粒子大小

    Set Color over Life:按存活时间设置粒子颜色

image

雪花贴图
三、总结

最后实现效果:

image

转载至Unity VFXGraph入门学习(二)-模拟天气案例 - 少女爱上芙兰 - 博客园 (cnblogs.com)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 17:25 , Processed in 0.092113 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表