bf-Blender / Windows - linux (2005/07/04)
投稿日時 2005年07月05日 | カテゴリ: テストビルド
|
元記事:bf-Blender / Windows - linux (2005/06/04)
gabio氏による7/4付bf-blender Windows版とLinux版のビルドの配布です。
非常にエキサイティングな 2.38リリースへと続く、最初のCVSビルドにようこそ。 現在、多くのテストが行われていますが、ログを注意深く読み、何がまだ未完成で、何がバグなのかを知って下さい。(訳注:ログは明日になります)
--------------------- 概要 - TextObject のリライト、新機能! - アニメーション再コーディングその1 - バグ修正
当方のPCの故障により遅れてしまいました。また、あまり精度もよくなくてすみません。
Commit ton氏 Log: Object が何もない Scene で、FaceSelectMode にするため[F]([Alt]+[F])を押すとクラッシュしていました。 バグ修正 #2755
Log: バグ #2751
再発したバグ、ですが2.37/37aのバグでもあります。OSAの Sample 量が AO の Sample 量との衝突…もし AO と OSA の量が正確に同じであれば、黒い部分ができます。解決方法はまだ最適なものではありません…しかし、少なくとも見た目はよくなりました。 まだ AO レベル8(64)以下ではあまり役に立たないかもしれませんが、それでもマシになったと思います。
theeth氏 Log: Jiri氏のマニピュレータパスを追加。これは Meta Element の Normal 軸の回転を実現するものです(もちろん EditMode のみ)。 Adding Jiri's manipulator path. This makes Normal orientation align to meta element's rotation (in edit mode, obviously).
Log: BPython の Curve モジュールへの私のパッチ(適用は stiv 氏)に小さなメモリリークがありました。現在は修正済みです。
Log: setattr関数のいくつかが作成した set* 関数へ渡すタプルの逆引きが正しく行えず、メモリが「リーク」していました。 コミット承認はstiv氏です。
intrr氏 Log: 新 TextObject の最初のコミット。
重要な注意:
- 旧 TextObject との互換性は完全には復旧されていません(字送り(Spacing)が0.0なので、手動で1.0に設定する必要があります)。バージョンを238にアップグレードするか、改造する必要があるでしょう。チェックしてみます。
- lorem.c (コミットされたものに関して) には、BF の著作権についての記述が含まれていますが、BF は何百年も前には存在していません。多分削除するのが一番でしょう。 - もし、クロスプラットフォームでの問題に気が付きましたら(特にいとしの Windows)、ご報告願います。
- 少しだけ Warning が残っていますが、これらの問題は解決する予定です。
残りはすでに述べました ― 後はテストを楽しむだけです。それではお願いします!
=== 追記: === ドキュメントはこちら http://blender.instinctive.de/docs/textobject.txt ===
Log: - いくつかの Warning の修正。
- 文字列の均等割付('Flush')の編集の向上:行が完了(ワードラップもしくは[Enter])するまで、行が埋まりません。
- displist.c のカーソルのフリッカを修正。
Log: 'Word Spacing'値の互換性があるコード。古いファイルの Word Spacing が0.0ではなく1.0に設定されて読み込まれるように。
Log: EditMode での Text のフレーム描画の間抜けなエラーを修正。
Log: "Flush" を最も柔軟性を高く、そして使いやすくする試み。
- 二つのモード、"Flush" と "Justify" になりました。Justify は行が、行送りもしくは[Enter]で終わっている時にのみ均等割付されます。
- "Flush" は、常に行を均等割付し、[Enter]で終わっていても同様です。
このモードは以下のようなものです: http://pub.intrr.org/flush.png
…"Justify" 中は二行目は均等割付されません。
- Textframe の幅が0に設定されている場合、"Flush" ですべての文字が同じ位置に絞られてしまうのを修正。
Log: - コピーバッファが複数の TextObject を渡って編集中に温存されるように。 - 選択部分の描画により、メモリリークの可能性があったのを修正。 - "Copy Attributes" メニュー([Ctrl]+[C])がすべてのフォント(Plain/B/I/BI)を正しくコピーするように。
zuster氏 Log: - 単に Matrix のフラグの引数として使用されるだけの、奇妙な adduplicate の宣言を修正…混乱しますし、不気味です。
theeth氏 Log: Segfault が起こるのを待っていました。これは私が書いた古いコードの方法で、以前より鈍った私の C のスキルを呪います。(そして実際には手抜きの評価が正しく動作していたりします)。
zuster氏 Log: - バグ修正、インクリメンタルアップデート中の Vertex Normal の計算が正しくありませんでした(ほとんど目立ちませんが)。 - バグ修正、Vertex Normal の計算で Face Normal の正規化を計算の前に行いませんでした…馬鹿げたミスです。
p.s. 恐らく Crystal Space に関するネーミングについての会話はコミットリストではあまりふさわしくなかったようですね?
Log: - バグ修正、SubSurf で Face のない Edge でクラッシュしていました。
intrr氏 Log: Curve/Material のインデックスが重複する問題が少し手に余るものになっていました。
- TextObject の、「文字が重複する問題」の回避のため、私は Nurbs の追加用に、nu->mat_nr (2D Curve 内の Material のインデックス用に働いていた変数)の代わりに、nu->charidx (それぞれの新しい文字で加算される新しい変数)を使用するよう、ソートのコードを変更しました。
- よって、これは通常の2D Curve の Material インデックスを完全に壊します。
- nu->charidx は現在、TextObject 内で補充用に文字群を分割するために使用されているだけでなく、通常の 2D Curve でも、Material のインデックスを含んでいる場合には使用されます。実際には、単に charidx に Material のインデックスが設定されるだけです。
- readfile.c に、TextObject ではない Curve をファイルから読み出したときに、nu->charidx を nu->mat_nr と変換する、互換性のためのコードを追加。
- よって、結論:Material のインデックスを「補充するグループ」を作成するために使用する代わりに、filldisplist() は nu->charidx を使用するようになりました。これは古いファイルを読み込んだり、Curve で、Material のインデックスが Assign/Delete されたときに適切に設定されます。
- これはすべてが非常に不明瞭で、説明しにくいです。もし判らない箇所がありましたら尋ねて下さい。
- もし何か壊していましたら、言って下さい!
blendix氏 Log: Martin Poirier氏のパッチ:ImageWindow での正規化された位置の表示と、小さな変更がいくつか。 - 同様に Transform 中の正規化された位置の表示。 - ステップサイズとボタンの精度の適応。 - 'View'メニューにオプションを移動。
また、UV の Transform 時、ピクセルスナップがデフォルトではOFFになるようにしました。
sirdude氏 Log: Jean-Baptiste氏のバグ報告。 (bvh_import.py で、配列を 0 1 2 の場所を読み込む代わりに、0 0 0 で読み込んでいました)
また、DOSの改行コードを削除しました。
Kent
theeth氏 Log: Transform 関連。
transform.c のクリーンアップ:必要のない include の削除と、REPEAT の実験コードの削除。
マニピュレータ初期化関数を分離、もうTransform開始前の設定関係への改造に対する再分類をする必要がなくなりました。
軸制限用の単一軸の投影の修正。透視投影も(面制限と同程度)正しく処理します。
Log: 私の前回のコミットに transform_constraints.c を入れるのを忘れていたため、単一軸の投影の修正はありませんでした。
このコミットはまた、複数の Object の Local 軸での Grab も修正します(X軸しか動作していませんでした)。
ton氏 Log: ギリシャでの、2週間の静かなコーディング作業の結果。
狙いはアニメーションシステム全体のリフレッシュでした。なぜこれが必要なのかというと、 - 21世紀の機能にアップグレードする必要があるため。 - 現在のコードはスパゲッティと改造のコンボで、いいデザインを隠してしまっているから。 - 依存グラフの使用により、ラグのないものにしなければならないため。
すべてのログ、完全なコードのAPI/構造体/デザインを以下にします。これは大量の作業です…よって下記は主な変更のリストです。
- Object 全体の更新システム(行列、形状)は、中央集権化されました。where_is_object と makeDispList の呼び出しは禁止され、代わりに Object に 'Changed(変更済)' のタグをつけ、依存グラフがそれをはじきます。
- すべての古い "Ika" コードの削除。
- 依存グラフは MetaBall、Constraint、Bevel Curve などを含む、すべての係わり合いについて知っています。
- タイプとレイヤの関係を知る依存グラフの作成は、'Changed' イベントのフラッシュ(一斉削除)を賢く行うためです。頻繁に計算されることはありません!
- Trasnform は依存グラフを変更の検出に使用します。
- Frame が進むと、依存グラフはアニメーションの変更をフラッシュします。
Armature
ほぼすべての Armature に関連するコードは完全にスクラッチからビルドされています。オリジナルのデザインは再び、非常にクリーンな実装でもっと上手く覆い隠されています。それぞれの Bone は一度だけ計算され、ラグがありません。その結果、非常にスピードアップしています!
重要な注意
1) Armature は '元の位置' のデータを収容しています。
2) Pose は 元の位置の変更で、常に Object レベルです。 この方法だと多くの Object が同じ Pose を使用できます。同様に、Constraint も Pose の中にあります。
3) Action は Pose を変更する値の Ipo を収容しているだけです。
- Bone はまだ回転して描画されません。
- Bone の描画は非常にスピードアップしました(10-20倍)
- EditMode での Bone の選択は、選択状態が PoseMode 用に保存され、逆も同様です。
- EditMode での Undo。
- Bone のリネームは、VertexGroup、Constraint、Pose チャネル、Action も、ファイル全体のそれらを使用している Armature のために行います。
- Bone のリネームを[N]キーパネルに追加。
- PoseMode での[N]キーパネルは現在、オイラーを表示するように。
- EditMode と PoseMode は「アクティブ」な Bone (最後にクリックしたもの)も持つようになりました。
- EditMode での[Ctrl]+[P]、[Alt]+[P]による Parent に素敵なオプションがつきました!
- Pose が Outliner に追加され、Contraint は Armature ではなく、その Pose で表示されます。
- Constraint から IK Solve が切り離されました。現在は別のフェーズになっており、Pose計算すべての一番最初に位置しています。
- Pose 自身も依存グラフを持っているため、評価の整理のラグはありません。
現在のTODO
- PoseMode での回転で、逆方向の Transform が正しく行われていません(Martin が修正してくれるでしょう)。
- Python による、Bone/Armature/Pose API が使用できません…同様に完全な再コーディングが必要です。 (私のドキュメントを待ってください!)
- Game engine もアップグレードが必要でしょう。
- 依存グラフコードは見直し、クリーンアップが必要で、より高速にできるでしょう! (とはいえ、Jean-Luc氏には感謝しています。動作しているのは魔法のようです!)
- IK が変更され、次の位置に進めるために前回の位置を使用することはもうなくなりました。旧システムは見た目はよかったのですが(反転がない)、NLA や バックグラウンドレンダリングとの相性はよくありません。
後のTODO
これで私たちは以下のような、多くの素晴らしい機能を追加できるようになったのです。
- PoseMode の削除(Armature 自身のオプションにすることができます)。 - B-Bone (Bezier、Bspline、スプラインのような物)の作成。 - 編集段階のすべての馬鹿げたボタンを 3DWindow に移動([Ctrl]+[I]で IK の追加など)。 - より改良された、情報のわかりやすい描画。 - Action/NLA Editor の修正。 - すべての Ipo を Actions に加える(Object、Mesh key、Lamp Color)。 - Hook の追加。 - Null Bone。 - より先進的な Constraint…。
バグ修正
- OGL レンダリング(3DView のヘッダ) がアニメーションの最初のフレームがおかしかったのを修正。 - Ipo 'recording' モードの再生スピードが異常でした。 - Vertex-key モードではフレームが変わるまで、「アクティブキー」を表示したままになりました。
-Ton-
theeth氏 Log: PoseMode の Transform の修正。 新システムにより、ついに非常に簡単に行えるようになりました(以前はこんなに上手くいきませんでした)。 親のチェーンを行き来したり、ソートなども必要なく、単に親の Pose に適用するだけですべてうまくいきます。
Ton のコミットで私の Transform の include ファイルのクリーンアップが先祖がえりしたので、再度クリーンアップしました。
また、bjonmose氏が書かれているように、宣言後の命令がMSVCを詰らせていました。修正済です。
|
|