osgParticle.Interpolator
osgParticle.Interpolator是OpenSceneGraph中一个用于插值的类。它可以根据时间和定义的曲线计算属性值的中间值,用于在粒子系统中实现平滑动画效果。
属性
- _inputMin:输入范围的最小值。默认值为0。
- _inputMax:输入范围的最大值。默认值为1。
- _outputMin:输出范围的最小值。默认值为0。
- _outputMax:输出范围的最大值。默认值为1。
- _keys:键值对数组,用于定义曲线。每个键值对都包含一个输入值和对应的输出值。
方法
- setInputRange(inputmin, inputmax):设置输入范围的最小值和最大值。
- setOutputRange(outputmin, outputmax):设置输出范围的最小值和最大值。
- insert(key):向曲线中插入一个键值对。
- clear():清除所有的键值对。
- getValue(time):根据给定时间计算曲线的中间值,返回对应的输出值。
示例
创建一个简单的线性插值器:
osgParticle::Interpolator* interpolator = new osgParticle::Interpolator;
interpolator->insert(osgParticle::Interpolator::Vec2(0.0, 0.0));
interpolator->insert(osgParticle::Interpolator::Vec2(1.0, 1.0));
这个插值器将范围[0,1]的输入值映射到相同范围的输出值上,使用线性插值计算中间值。
参考