FBX Python SDKでBlender と 3ds Max間の出力シーンの画角アニメーションの変換スクリプトを
書きはじめてみています。
以前にアンダースキャンレンダリング用のスクリプトを書いた時にほぼ同内容の変換をやった気になっていましたが
ちょっと違っており、かつメモとしてあって良さそうなもんなのでPythonの関数としてママをおいておきます。
mm、インチ、ディグリー、ラジアンなど値が入り混じるワナにハマることがあるので気をつけなきゃだなー
なんて思いつつ、mathのみで成立させられるなんて便利だなーなんて思ったりもしました。
FBX Python SDK Blender ↔︎ 3ds Max
Camera Animation can Not be converted !

普段は3ds Maxを日常的・能動的に使うことがないので詳しい事情はわからないのですが
カメラに関してちょっと特殊な感じがしています。
Film Offset
まずMayaやCinema4Dでいうフィルムオフセット、Blenderでいうレンズ→シフトがありません。
代わりなのか、そういうわけでもないのか、仰・俯角を補正するモディファイヤがあったりします。
とかくフィルムオフセットがあるシーンをMaxに渡した際は
最終的には目合わせや大きく出力してトリミングするといった手法をとることになると思います。
Lens Animation
そして少し前に発覚したのがレンズのアニメーションに関して。
Maxからは水平視野角のみしか出力されないようです。
もちろん、焦点距離は諸条件から連動した絶対値になるので
あえて持つ必要がないという考え方も理屈ではわかります。
が、この先困ったことに遭遇することがおそらくそれなりの頻度で発生しそうな気がします。
FBX SDK Python FBX Version Convert Script

あー、こーゆーのもあんのね。
というのがFBX SDKの記事を目にした時の第一印象でした。
C4D、Blenderを主に使用しているのでそんなのどうつかうん?という感じです。
Mayaを使っていた頃にはなんとなく存在自体は知っていた気がしますが
それで何ができるかとかはしらず、さらにいえば自分には縁のないモノであろうということで
忘れ去っていました。
では今回なぜ使うことになったかと言いますと、ポメロ越田くんから
Blender→3dsMaxへのデータコンバートでうまくいかないシーンデータがある
との相談をいただいたからなのですが、、、
その際はもちろん可及的速やかに確実な検証込みのデータ渡しが必要ですので
そー言った場合の前提として、立ってるモノは親でもつかえの精神で最短・確実を目指します。
Blender→(fbx)→Cinema4D→(fbx)→3ds Max
という解を検証の結果導きだせました。
これはまさに最短でかつ確実性を重視した手持ちツールつかうパターンです。
早速、4シーンをコンバート・確認しデータを提供させていただきました。