bf-Blender / Windows (2005/07/21)

投稿日時 2005年07月24日 | カテゴリ: テストビルド

元記事:bf-Blender / Windows (2005/07/21)

gabio氏による7/21付bf-blender Windows版のビルドの配布です。bf側のサーバメンテナンスのため、掲載が遅れましたことをお詫びします。

再びビルドの時間がやってきました。すぐさまダウンロードしましょう!blender2.38になっています。
zuster氏の多くのコミットは internal のものではありません。氏が非常に困難な作業をされていることを言及しておきます。
MSVC 7.1 でビルドされています。
---------------------------
概要
- 新機能:B-Bone が 'handle length(ハンドルの長さ)'の調整をサポートしました。
http://www.blender.org/cms/Armature_draw_modes.629.0.html
- バグ修正。
- TexMesh (texcomesh) が SubSurf で動作するように。
- Armature や Bone の追加([Shift]+[A])が、デフォルトでは Bone 一つを追加するように。
- [Ctrl]+左クリックでBoneの追加。
- Beauty ボタンは Beauty(長い方の Edge を分割)と、Short(短い方を分割)に。
- 新機能:Modifier stack(モディファイアスタック)。
- 旧 Build Effect を削除、古いファイルはロード時に新スタイルに変換されます。
- zuster氏曰く、「我慢できなかったため、Build Effect に ランダム機能を追加しました」
- 新しい modifier type、Mirror が追加。
- ObjectMode でのインクリメンタル Subsurf。
- blender 2.38に!? (残念ながら、スプラッシュはまだです)


今回のバイナリより、SubSurf は Modifier Stack の一部になっており、従来のように SubSurf を使用するには、Object Buttons([F])の Modifier パネルの、Add Modifier で SubSurf を追加する必要があります。

また、元記事のダウンロードページには、blenderバイナリのみの7/22版があります。当方では7/21版で既存のファイルを読み込ませたところ、クラッシュしましたが、7/22版では普通に使用できました。両方ダウンロードし、バイナリのみ7/22版に置き換えた方がよさそうです。
Commit
ton氏
Log:
- "in" と "out" による B-Bone の補間の値が、EditMode の Armature から、そして Armature へ、コピーされていませんでした。

- PoseMode の Bone の Transform 用に変更された、'axismat'。バグ #2769の修正で、Bone のホットキーによる軸制限回転([R]、[Y]、[Y])が上手く動作していませんでした。

Log:
新機能:B-Bone が 'handle length(ハンドルの長さ)'の調整をサポート、EditButtons の新しい PoseMode パネルの "In" と "Out" で行います。
http://www.blender.org/cms/Armature_draw_modes.629.0.html

image.c の修正: 単に変数が初期化されていませんでした。

Log:
バグ修正 #2836

空の Mesh で、Dupliverts を使用するとクラッシュしていました。シンプルに、dmポインタのチェックを追加しました。

Log:
修正:EditMode で Bone を削除すると、Outliner がクラッシュしていました。

Warning をなくし、小さくいいスタイルにするため、Editmesh コードを更にクリーンアップ。

Log:
Armature の EditMode での、Wire 選択が偶然壊れていました。


zuster氏
Log:
- ton氏の Dupliverts「修正」の取り消し。


ton氏
Log:
三つの修正。Basse 氏と Sten 氏の irc での報告に感謝:

- B-Bone 描画時の Bone の両端が Bone のサイズと合っていませんでした。今は他の Bone タイプと同じサイズで描画されています。

- EditMode での Bone の削除で、Pose の Constraint をチェックしておらず、奇妙に崩壊しているポーズが生じ、更にはクラッシュしていました。

- [Alt]+[S] による B-Bone のサイズ変更が、Object のサイズに対応していませんでした。

Log:
更なる修正。irc のテストに感謝:

- EditMode を抜け、その後 Bone を削除すると、Poseチャネルのポインタが正しく NULL に設定されておらず、クラッシュの可能性がありました。

- Action Window: 'ipo key' (小さなアイコン)の選択で、関係している Bone が選択・選択解除されていませんでした。(古いバグ!)

- Action のリンク解除後、Bone の青色がクリアされていませんでした。

さらに:

- EditMode での選択の改良、二つのステージで行っています。かなり精度が上がっています。

Log:
EditMode からの退出+多くの Bone の削除によるクラッシュの3度目の修正の試み!

いくつかのポインタを更に多くクリアするようにし、解放されたデータの読み込みを防いでいます…。


erwin氏
Log:
Bullet 物理演算の更なる準備、SCA_Joystick* のいくつかの eol 問題の解決。


ton氏
Log:
Action Constraint が後方互換性を持つように。旧バージョンでは、「グローバル」(Pose 空間)回転を、アクションのタイミングを決定するのに使用していました。
これはもちろん、多くの奇妙な継ぎ接ぎのリグになるため、便利とは言いがたいものでした。
それでも便利なときもあり、古いファイルにも素晴らしい物が見られます。よって、"Local"はオプションになりました。

注意:もし先週、新しい Action Constraint のためにファイルを変更したのなら、Object Buttons の Constraint パネルにある、新しい "Local" オプションをセットして下さい。


zuster氏
Log:
- boundbox_set_from_min_max 関数を追加。

- DerivedMesh.getMinMax を、Vertex がない時、最小値&最大値を設定するよう実装を修正。

- mesh のバウンディングボックスの計算がいくつかのケースで間違っており、[Home]キーと Localview のズームアップでめちゃくちゃになります。


ascotan氏
Log:
[ #2423 ] Object.getParentSubName
- これは lordbosh 氏の投稿によるパッチです。
- Object が Bone に Parent されているとき、その Bone の名前を取得する能力を追加します。


ton氏
Log:
二つの小さな修正(Armature):

- Pose 上で、DAG を呼び出すべき、Pose Constraint に関係を追加しました。
- adding relations to pose-constraints should call DAG on the pose
- Constraint が "IK" チェーンを壊すのを防ぎました。


zuster氏
Log:
- DerivedMesh.getVertCos 関数の追加と実装。
- mesh_create_derived_no_deform の追加。[_render]
- mesh_create_orco は DerivedMesh を常に通過するようになりました。現時点では若干冗長なコピーですが、修正可能です。(orco の生成のボトルネックはあまり大きいものではありません)

新機能: TexMesh(texcomesh) が SubSurf で動作するように。(rob に聞いてましたっけ?)


ton氏
Log:
バグ修正:Pose の Bone の Clear rotation で、変更を DAG にフラッシュしていませんでした。

今日の前回のコミットの修正:違う挙動をしている、別の Action Constraint のテストファイルを見つけました…古い Action Constraint は、(restの姿勢からポーズへの)デフォーム行列を、キーを決定するのに使用していたことを突き止めました。

また、使用されていない関数を Outliner.c から削除。


guitargeek氏
Log:
バグ#2848 の修正。これは、選択モードを元に、Subdivide 中で選択を上流にフラッシュします。そのため、すべての Edge が選択された Face も、同様に選択されるようになったと思います。


ton氏
Log:
バグ修正:PoseMode の Transform が 選択された Bone を正しくカウントしておらず、親 Bone があるが、"IK" 接続されていない、選択中 Bone をスキップしていました。

Log:
1) Armature もしくは Bone の、古くからの悩みの種を除去。

- Armature もしくは Bone の追加([Shift]+[A])が、デフォルトでは 単一の Bone の追加になり、ビューに整列、ユニットサイズ1になりました。

- その後、[E]キー(Extrude)でチェーンが描画されます。このオプションはもう "OK" のポップアップメニューが出なくなり、作業がすばやく行えます。

- 新たな方法として、[Ctrl]+クリックでも Bone が追加できるように。

これは作業を、Blender の他の EditMode と同じにします。旧式の Bone 描画用のモードのあるループ構造では、単にどちらも上手く動作していませんでした。

これに関連して:実際に便利な、Armature のプリミティブのセットを持たせましょうか?

2) REMAKEALLIPO イベントの削除。これは NaN 時代にテスト用に追加されたもので、非常に遅いことが証明されています。コードは editnla.c に移動されました。
このいやらしい、バグのような機能を指摘して下さった Hendrick 氏に感謝!

Log:
バグ修正 #2818

ファイルのインポート(例えば DXF)で、アクティブファイルネームに、インポートされたファイルネームがセットされると、それを上書き保存(Save)にも使用していました。非常に古い機能が原因と突き止めました…スペックどおり動作していないので、これを削除した方がいいでしょう!

Log:
うーん…昨日浮かれていた、依存グラフの部分を削除しました。その修正はOKでしたが、削除されたコードを廃止にしません。
エラーは デフォームされた Object での Transform が recalc フラグを設定していなかったことでした。


ascotan氏
Log:
- Campbell Barton氏提供のパッチ。
- matrix.invert() が、正しい逆行列を返すよう修正。


guitargeek氏
Log:
'beauty' 分割の復帰と改良の最初のステップ。

Beauty ボタンは Beauty と Short に分かれました。

以下がその動作です:

Beauty が ON:Face が選択されていれば、その長い方の辺のみが分割されます。
Beauty & Short が ON:Face が選択されていれば、短い方の二つの辺のみが分割されます。

現在の問題の一つに、二つ以上の辺が同じだった時があげられます。チェック用のコードの追加と、そのような Face での beauty を使用不可にしなければなりません。注意して使用して下さい!

また、選択の復帰も、調整の必要があります。

追記:大抵の場合、正確な Subdivide を行うためには、beauty に頼るよりむしろ、Edge 選択モードを使用して Edge のみを選択して、好きなところでカットする方が いいでしょう。


ton氏
Log:
いくつかの修正の詰め合わせ:

- Pose の Action で、[Esc]による Transform の復帰が異常でした。
これで、「最終時間の評価」を格納する、Ipo の似たような問題も解決されました。
ゴースト化の拡張への可能性も…これは後ほど。

- Action Window の小さな黄色の「キーブロック」の移動で、3DWindow が更新されていませんでした。また、'lock' オプションが動作しておらず、ヘッダも点滅していました。

- Pose の Transform:まだいくつかのケース、特に Action が絡むとエラーが発生することに気づきました。現在行っている、望みの行列の構築は、つらい試練です。

- 時代遅れの Bone のポインタを、TransData から削除。


ascotan氏
Log:
__ bug fix__
- mathutils クラスの内部メソッドの、自身へポインタ返す処理の前には INCREF が必要です。

* 同じオブジェクトの内部メソッドを繰り返し呼び出すと、参照カウンタの所為で、メモリアロケーションエラー(悪いポインタの解放)が何度も現れていました。


ton氏
Log:
修正:[Ctrl]+クリックによる Bone の追加で、Parent に付着していませんでした!


zuster氏
Log:
- {curve・attice・armature}_deform_verts を mesh_deform の外に分離。

- mesh_deform を削除(mesh_modifier に統合)。

- python の lattice_apply 関数を、object_apply_deform を使用するよう切り替え。これは正確には等価ではありませんが、いずれにせよ、Python システムはカーネル深部を呼び出すべきではありませんでした。

新機能:Modifier stack
- Object.modifiers (ModifierData エレメントのリスト)の追加。

- DNA_modifier_types.h の追加。
-- ファイルデータ用に、様々なモディファイアタイプの定義を含んでいます。

- BKE_modifier.h の追加。
-- modifierType_get_info を含んでいます。(モディファイアタイプ登録所へのアクセス)
-- 実行時のモディファイアで使用される構造体と定義。

- mesh_calc_modifiers を、モディファイアスタックを評価するよう更新(注意:当分の間、旧式のモディファイアも評価しますので、ファイルを通常通り読み込み、動作するでしょう)。

- モディファイアコードにファイルのハンドリングを追加(ToDo: Object のコピーを複製しない)。

- モディファイアスタックの UI コードを追加(Object パネルにあります)。

現在の本当の新機能は、以前は不可能だった、Lattice と Curve を SubSurf の 後に適用できるようになったことだけです。

ToDo:
- 依存グラフの更新がまだ正しく行われておらず、そのため、通常、その結果を見るためにタブを循環させる必要があります。

- EditMode の計算がモディファイアスタックを使用していません。

- バグ修正。(どこかに少しいるはずです)

Log:
- EditMode での、Particle に関連するクラッシュを修正。現時点の Particle システムの計算は非常に無計画で、次のリリース前に、(複製の実行を)再考する必要があります。
Log:
- modifier_dependsOnTime を、モディファイアが時間に応じて更新する必要があるかをチェックするために追加。依存グラフがこれを扱う場合にいいでしょう。

- モディファイアが時間変更で更新する必要がある場合、依存チェックを行うように。

- レンダリング時のクラッシュを修正。(NULLへのアクセス)

- 新しい Build Effect モディファイアタイプを追加。旧版と比べると、モディファイアシステムの完全なメンバーとして働きます。つまり、SubSurfへの適用や、その他からの適用、順序入れ替え、以前行っていたことが可能なのです。すべてがよくなり、必要な物を完備しています。

- 古い Build Effect を削除、古いファイルは新しい形式にロード時に変換されます。

- 我慢できなかったため、Build Effect に乱数機能を追加。

- Python の BuildEffect のサポートを削除。

Log:
やったぜ新機能!

- ModifierData.isDisabled オプションの追加。

- 新しいモディファイアタイプ:Mirror
-- まだモディファイアシステムは EditMode で実行しませんので、ミラーモデリングはありませんが、他の用途では本当にクールな機能です。ミラー結合の実現のため、コードが更にトリッキーになり、(実際のMeshを)作成しない場合にいいでしょう。

-- このコミットの類は基本的に以前のすべてのコミットの結果です ― その新しいモディファイアの実装はおよそ3つのファイルのみを変更し、統合はほぼ完了しています。


theeth氏
Log:
ちっ、intrr氏のラジオシティのコミットでは初心者的ミスをしてしまいました(不可視の Face の収集ミス)。

ポインタをチェックしていなかったため、Mesh に TFace がない時にクラッシュしていました。


zuster氏
Log:
- GetRawFromObject を、常に Mesh の名前と情報を返すように変更…これは以前のリリースから変更された挙動で、以前は 名前を持っているであろう SubSurf からの派生ではない、NMesh のみを使用していました…。

Log:
- editmesh の派生関数の名前と機能がごっちゃになっていました。
- shuffled editmesh derived function name/function

- ModifierTypeInfo.freeData 関数の追加。

- modifier_{new,free] ユーティリティ関数の追加。

- 情報のクエリを行う ccgSubSurf_getUseAgeCounts の追加。

- 偽のSubSurf モディファイアの削除(ME_SUBSURF フラグはもはや有効ではありません)。SubSurfモディファイアはファイル読込時に変換されますが、旧式の Linked Mesh の場合だとおかしくなる可能性があり、近いうちに修正します。これはまた、コードのいくつかの場所で、いずれ SubSurf の設定のテスト・コピーが壊れてしまうことを意味します。

- モディファイアの計算をよりシンプルなものと入れ替えました。すべてのモディファイアが現在 EditMode では使用できないことに注意して下さい(SubSurf も含む)。心配後無用、すぐに帰ってきます。

- バグ修正、Build モディファイアが Vertex のみの Mesh の Randomize を行いませんでした。

- subsurf_ccg のクリーンアップと、未来の EditMode モディファイア作業への適合。

- editmesh.derived{Cage,Final} の追加、まだ未使用です。

- SubsurfModifierData.{mCache,emCache}を追加、deriverdmeshで自身のキャッシュを行う代わりに、SubSurf のキャッシュを行うのに使用される予定です。

- 旧SubSurf ボタンを削除。

- モディファイアイベントを扱う、do_modifiers_buttons を追加。

- count_object から、モディファイアされた(Subsurf された)Object のカウントを削除…。
これが普通の状態に戻すのにいいのでしょうが、ケアが必要です。
恐らくカウントシステムのリライトが必要でしょう。


新機能:ObjectMode での、インクリメンタル

前回のリリースで、EditMode での、インクリメンタル SubSurf 計算の導入を行いましたが、ObjectMode での変更はされませんでした。一般的に、大量の Mesh についての情報に充分なキャッシュが必要で、もし Mesh が頻繁に再計算されなければメモリの無駄遣いとなるため、ObjectMode中に常に有効にしておくのは意味がありません。

しかし、例えば Armature を持つ、SubSurf された Mesh や、その他のモディファイアを持つ Mesh では、基本的に毎フレーム変更があり、SubSurf された Object を保持し、更にそれが新しいインクリメンタル SubSurf モディファイアがONになっている物であれば、非常に意義のあることです。

その目的は、ユーザがこのオプションを、(a)現在編集中の Mesh、もしくは、(b)キャラクタなど、Scene で頻繁に更新される Mesh 、に対して使用可能にすることです。

私は次期リリース用に、この機能について、利点と欠点が、すぐに明らかにはならないため、更に記述してみようと思います(最初のユーザのリアクションは、全ての Object でONにしようとするでしょうが、これは恐らく正しい使用ではありません)。

ton氏
Log:
Armature マニアのための、新しい描画モード!

'Xray' 描画モードにおいては、Bone はあまり目立たない方がいいと気づかされました。この目的においては、最小のスタイルの描画がベストでしょう。
この新しいオプション、"Line" はソリッドラインと、終点にビットマップの円を描画します。

http://www.blender.org/cms/Armature_draw_modes.629.0.html


zuster氏
Log:
- blender のバージョンをアップ。

- Warning を修正。(使用されていない変数)

- リンク後の発生が必要なパッチのために、do_lib_versions を追加、いくつかのパッチを更新。

まだ、パッチがおかしくなる可能性がある問題があり、特に、Object が他のファイルにリンクされている場合などです。しかし、これはすべてのクラッシュを修正するでしょう。




Blender.jpにて更に多くのニュース記事をよむことができます
https://blender.jp

このニュース記事が掲載されているURL:
https://blender.jp/modules/news/index.php?page=article&storyid=1347