ブレンダーのデータ誤差問題

私は永らく ブレンダー(blender) はバージョン1.8を使っていました。
理由は1.8が十分に安定していた事と、これ以降のバージョンは『通称ゲームブレンダー』 と、呼ばれるように3DCGを作る以外の部分のバージョンアップだったからです。

ところが最近になって、アニメーション機能について大幅にバージョンアップしたと言う話を聞きつけたので ダウンロードしてみました。

機能強化されたのは人間の関節などを表現する為の機能強化なので私には関係が無かったのですが、 以前から気になっていた内部での計算データの誤差問題が改善されている事に気が付きました。
(私が知らなかっただけで、Ver2.2以前に既に改善されていたのかもしれませんが・・・)

3D空間へオブジェクトを配置して具体的に説明しましょう。

例1
例1:オブジェクトを原点を中心にして回転させる
オブジェクトAを原点を中心にして90°回転させたとします。
オブジェクトAの座標値
A) オブジェクトAの元の座標値
オブジェクトA'の座標値(Ver1.8)
B) オブジェクトA'の座標値(Ver1.8)
オブジェクトA'の座標値(Ver2.2)
C) オブジェクトA'の座標値(Ver2.2)

ブレンダーでは『Rコマンド』を使う際に『CTRLキー』を押しながらオブジェクトを 回転させると5°刻みでキッチリと回転させる事が出来ますから90°も簡単です。
ところが、B)のようにVer1.8では誤差が小数点以下2位と大きいだけでなく、本来影響を 受けることの無い『X』『Z』軸にも影響が出てしまうのです。

ブレンダーを使い始めて直ぐにこの問題に直面したので、すぐに各種BBSなどで質問をしてみたのですが
そういう仕様みたいだ
と、言う無常なRESが返ってきたのです。

一説にはPythonスクリプトを使う事で克服する方法もあるらしいですが、 モデリングを行うだけでも四苦八苦の初心者の私は場当たり的な対処療法で誤魔化すのが限界でした。
これがVer2.2では3)のように目的どうりの回転が出来るようになっていた訳です。

この誤差は例1のように単純に配置するだけなら無視できる事もあるのでしょうが、断面を回転コピーして オブジェクトを作る場合やブロックを組み合わせるような状況をシミュレートするアニメを作った際に 大変悩み苦労をしました。

断面を作って
断面を作って・・・
回転!
回転させて形状を作るが・・・
むむむ・・・
360°回りきらず、各ポイントも一直線上に並ばない

今度はOK
Ver2.2なら大丈夫


まあ、現在のVer2.2にはβ版なので安定するには未だ時間が掛かるかも しれませんが、モデリング時に妙な気遣いが要らなくなるだけでも使う価値があると思っています。
サンプル1:クリックで拡大
回転コピーで作ったCGのサンプルです。クリックすると拡大します。


戻る