用 Triton 模拟转子冲洗效果
Triton还将模拟来自旋翼下冲的风(或任何局部风源)对水面的影响。
Triton::RotorWash类使之变得简单。简单地实例化一个代表你的旋翼的RotorWash对象。构造函数需要转子叶片的直径,一个启用喷雾效果的标志,以及一个表明你是否要使用贴花纹理效果的标志。每一帧,调用Triton::RotorWash::Update()来更新转子叶片的位置和方向。
转子的效果将随着与转子的距离而减弱,并被设计为在两个转子直径后脱落。水面上的喷雾效果将在三个转子直径内产生,喷雾颗粒将沿着转子的反射矢量发射出去。
可以在resources/triton.config文件中的Rotor Wash部分配置随距离的衰减、效果的半径以及粒子和波的产生频率。
rotorWash = new Triton::RotorWash(ocean, rotorDiameter, true, true);
rotorWash->Update(rotorPosition, rotorDirection, rotorWindVelocity, currentTime);
注意传入Triton::RotorWash::Update()的方向代表从水中指向地面的方向--与运动的方向相反。速度的单位是每秒的世界单位,所以一定要根据需要转换你的速度单位。
RotorWash构造函数的最后一个参数表示你是否想在转子洗涤效果中使用贴花纹理。这可以用来增加额外的视觉细节,从转子冲洗的交叉点发出更多的圆形波浪和条纹。然而,贴花纹理会带来适度的性能成本,所以应该谨慎地使用这种效果。
渝公网安备50010702505508