元記事:
Blender 2.28a updateton氏による記事です。
とても多くの新機能が入った2.28ですが、興味深いバグ報告が届けられてしまうのが避けられないリリースとなってしまいました!
もっとも多く報告されたバグ、特に落ちる物については、このアップデートリリースですでに修正済みです。残りについては2.29にて行う予定です。
また、
新しいPythonドキュメントもチェックしてみて下さい。
現在確認済みの問題:*75%または25%でレンダリングする時、ある特殊なケースにおいては、shadowbufferサイズ(Lamp Buttons Window)の値を64で割り切れるものにする必要があります。
*hemiランプはまだ新しいシェーダをサポートしていません。
修正済み(全般):*Windows版では設定の保存のためにユーザの'home'ディレクトリを使うようになりました。これは.B.blendファイル(スタートアップ用)を含み、まだ以前との互換性のため、もし新しい場所が利用不可能であれば、従来の位置から読み込みます。
*Edge Selectは[Ctrl]+[Alt]+右マウスクリックのみ使用可能になりました([Alt]+右クリックはいくつかのWindowマネージャを起動させるからです)。
*Toonシェーディング:Sunライトで同様に利用できるようになりました。
*MaterialButtonsWindow内のToonシェーディングボタンの範囲が正常になりました。
*バグ修正:メニューの'reopen last'で落ちるバグを修正(全システム)。
*バグ修正:AudioストリップのVolume envelopeがすべての場所で動作するように。
PYTHON:このアップデートではPython部分が最も多く作業が終わっています。
*多くのデバッグメッセージが撤去されました。
*argvがbuiltin sys Pythonモジュールに追加。現在はargv[0]だけです。この妙なエラーの修正でスクリプトが落ちてしまうのを正常な状態にします。
*スクリプトリンクの修正。
スクリプトが一つのObjectにリンクされている時だけ、この機能が働いていました。現在ではスクリプトリンクは他のタイプのObjectやグローバルスクリプトリンクでも働くようになっています。これは非互換性の問題でした。
*Objectモジュールの変更:
- buidParts()メソッドの追加。
このメソッドはパーティクルシステムを強制的に計算させます。
- getLocation()(訳注:setLocationの間違いと思われる)と、同様のメソッドの引数の解析の修正。
これらの関数は古い実装と互換性がありませんでした。
現在では値のlistを引数とする必要があります。
- getTracked()メソッドで落ちるのを修正。
- getParent()メソッドで落ちるのを修正。
この問題はgetParentが同じObjectで二回目に呼ばれたときに起きていました。
- MeshデータブロックがあるObjectにリンクすることができませんでした。修正済み。
*Ipoモジュールの変更:
- Ipoが変更されたときの"relative / absolute"のポップアップダイアログを削除。
- EvaluateCurveOn(position,time)メソッドの追加。
このメソッドはIpo Curveのposition番号の、timeの場所での値を返します。
*NMeshモジュールの変更:
- addMaterial(mat)メソッドの追加。
- update()メソッドの引数による機能の追加。引数が1の場合、Meshのnormalが再計算されます。他の場合、再計算は行われません。
- getVertexInfluencesで落ちるのを修正。
この問題は頂点にboneがリンクされていないときに発生します。
- バグ#399―Face(vertexlist)メソッドで落ちるのを修正。
- 新しく作成したMeshの名前を変更しようとすると落ちるのを修正。
*Materialモジュールの変更:
- specR、specG、specBの変数がなくなります。これらの変数は前回のPythonAPIでは利用可能でした。
*Imageモジュールの変更:
- イメージのwidth、heightそしてdepthパラメータ公開のために変数を追加。
*Textモジュールの変更:
- filename属性でNULLのチェックをしていませんでした。不正なふるまいを引き起こしていました。
*Armatureモジュールの変更:
- バグ#433―Bone.setQuatが動かないのを修正。
このメソッドはquatの代わりにheadを変更していました。
*Sceneモジュールの変更:
- update()メソッドの引数による機能の追加。値が1の場合、すべてのオブジェクトの更新を行います。その他の場合、オブジェクトの基底リストのみ更新します。
*モジュール内の矛盾をよりなくしていくようクリーンナップ。
*多くの文書のたくさんのモジュールの部分を更新。