OpenCASCADE 長編アニメーション
1.はじめに
OpenCASCADEは、クラスの提供 AIS_Animation 簡単なアニメーション機能などを。
図クラス、アニメーション機能から分かるように、2つある:一つはカメラアニメーションで AnimationCamera、一方がアニメーションモデルである AnimationObject。なぜなら OpenCASCADEない OpenSceneGraphシミュレーションアニメーションを実行するように設計され、内蔵のマルチスレッド、 OpenCASCADEのアニメーションのように理解することができる一方、(真の){更新();} 、すなわちモデルまたはアニメーション時間におけるカメラの開始位置及びアニメーション化し、更新するために補間する位置を終了します。簡単なアニメーション効果のために、このアプローチは十分です。
2.例
で OpenCASCADE、モデル変換を実証したビデオファイルとして保存される変換やアニメーションを表示、それぞれ、ソースフォルダのアニメーションの使用例を提供し、当然のことながら、この機能は、サードパーティのライブラリに必要と FFmpegのを:
OpenCASCADEは中間位置用いてアニメーションクラスを生成 gp_TrsfNLerp 補間します。
3つの部分変換であるコメントは直線クォータニオン回転部クラス補間を補間されます。この補間法は、複雑なアニメーションの要件を満たすことはできませんが、補間の例として、このクラスを置くことができます。
在Draw Test Harness中输入以下命令:
source tests/v3d/anim/propeller
vanim anim -play -playSpeed 0.1
即可以让一个螺旋桨动起来了:
其实这个螺旋桨动画是个复杂的例子,包含了视图动画和模型动画。对于简单的示例,可以参考另外几个文件,里面的例子是相对简单的。
3. Conclusion
OpenCASCADE7.3版本中引入了简单动画的功能,结合其测试案例,找到其实现源码,可以方便地在程序中实现简单的动画功能。其中动画支持两种方式:一种是视图支画,一种是模型动画。视图动画一般用于两个视图之间的动画过渡,如从主视图切换到仰视图中间加一个动画过渡;模型动画可用于简单的动画仿真。