首页 > 编程语言 > 详细

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

时间:2021-06-07 00:25:44      阅读:26      评论:0      收藏:0      [点我收藏+]


前言

参考链接:
  1. VFXGraph官方文档:(https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@6.9/manual/index.html)
  2. 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: 周期变化率
    实现系统中的粒子数量随时间变化。

技术分享图片

2.Initialize Particle块实现

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

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

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

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

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

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

技术分享图片

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:
技术分享图片

Y:
技术分享图片

技术分享图片

4.Output Particle Quad块实现

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

  • Orient: Along Velocity
    将模式从“FaceCameraPlane”更改为“AlongVelocity”。这将使雪粒子面向它们行进的方向。

  • Set Size over Life: 按存活时间设置粒子大小

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

技术分享图片

雪花贴图

三、总结

最后实现效果:

技术分享图片

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

原文:https://www.cnblogs.com/mwc0315/p/14855732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!