bf-blender / Windows (2005/05/20)

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

元記事:bf-blender / Windows (2005/05/20)

gabio氏による5/2付bf-blender Windows版のビルドの配布です。
こんにちは皆さん。ひどいバグにより困難な問題がありましたが、ようやく戻って来ることができました。
テストをする全ての機能をこちらで見ることができますが、私のすべてのスレッドの「概要」でも確認できます。

現在 B-Con 4 です。二週間以内にはリリースされます。
多くの作業が進行中です。今週はバグ修正が多いです。
------------------------
概要

- バグ修正
- TextWindow: 構文カラーのサポート
- 新しい Python スクリプト
- Zblur の実装を削除。Sequence Editor からはアクセス可能です。
- TimeLine の "Play" で、音声の再生と、シンクロ再生もできるように。


今回はバイナリとその他ファイルが1ファイルに圧縮されてアップされています。
ダウンロードができなかったので、ミラーしました。

ZBlur が…。orzSequence Editorから触れるからそれはそれで。
今回はちょっと自身が…特にPython関連。
Commit
stiv氏
Log:
バグ修正#2254: Curve.appendPoint()が PySequence_Check()で Segfault を起こします。
CurNurb_appendPointToNurb()用の引数のタプルが正しく構築されていませんでした。


broken氏
Log:
* Timeline はデフォルトでは秒数ではなく、フレームで表示すべきです。


ton氏
Log:
"Add duplicate object" で、SoftBody の bake 情報が解放されていませんでした。

注:現在の"Bake"は、アニメーションシステム全体を格納しますが、BakeしたSoftBodyに対する、以降のアニメーションのリファイン(または複製)が無駄になってしまいます。アニメーションシステム全体をすっかり削除することもできます。
これは機能の一つとして提出することもできます(遅いArmatureの保存)。
ただし、'relative(相対)' bakeのチェックもすることになるでしょう。

Log:
バグ修正 #2532
タイムマーカーの Grab が正しくアイドル(スリープ)処理をしておらず、正しい前回のマウス位置をチェックしていませんでした。

Log:
バグ修正 #2533
Faceループコードのアイドル処理を正しくしました(ホットキーは EditMode 中に[K])。

Log:
バグ修正 #2541
EditMode 中、Pivot に "individual object centers" を使用しても、回転もサイズ変更も全くしていませんでした。独立した(Individual)Face・Edge の回転用に、ある種の「繋がっている」中心を与えていたのだと思います。動作するまでもう少しコーディングすることになるでしょう。

Log:
バグ修正 #2542

おもしろいことに、この Kent Mein氏のコミットにあるエラーは、Campbell氏提供のパッチのコードにあり、バグ報告をしたのもCampbell氏なのです。

ループ内で、(クリックで)選択された全ての Object を継承してアクティブにする行がありました…非常にまずいです。

Oops 内でのアクティブ化は[Ctrl]+クリックに制限した方がいいでしょう。ということで修正しました!

Log:
BlenderでLinked dataライブラリによる編集を可能にするとともに、様々なエラーを修正。

ボタン上での[Ctrl]+[V](ペースト)
[N]キーパネル
join mesh
join curve
EditButtons
boolean
VertexPaint
FaceSelectMode
マニピュレータ

また、何も選択していない時に Transform()に入ると、無意味なループを実行していました。なぜMartinはこんな方法で再コーディングかはわかりません…おそらくハンドリングの最初の段階として作成したのかも? 悪のPythonのオーストラリアのボスのため?:P
(訳注:原文は For evil Python Aussie Bosses。なんのネタかわからんのでパス。orz)

Log:
バグ修正 #2535

100を超えるBoneのArmatureでは、'Parent IK'メニューが画面に収まりきらなくなっていました。以下の変更により修正しました。

- メニューが左右に収まらない場合、ウィンドウの左詰めに整形するように。
- 現存のメニューが8列を超える場合、各列の項目数を20から25に増やします。

また、BoneのParent時のポップアップメニューも修正しました。解像度の幅が1280のスクリーンでは、300を超えるBoneをメニューに表示できるようになりました(ButtonsWindowを少しズームアウトすればそれ以上も表示可能)。まだ無駄がありますが、少なくともイライラは減ります。

Log:
一石三鳥。:)

- バグ#2530
中マウスボタンによるTransformの制限軸の選択が使用している投影コードが、極端なズームを行った時には動作していませんでした。ズームレベルにあわせて座標の投影のスケーリングを補正する必要がありました。

- Objectの[N]キーパネル:Scaleボタンの左右の端をクリックした時の値の増減が0.1になりました(以前は1.0)。

- スクリーン内のウィンドウ境界の移動:最上部のヘッダがグリッドスナップの所為で小さくなりすぎるのを防ぎました。テクスチャフォントの使用により見えるようになりました。

Log:
SoftBodyのBake:'Frame mapping' の使用時、アニメーションシステムは自身のローカルシステムタイムのままなため、BAKE処理ではこれを禁止する必要ありました。Framemapは再生専用です!

これを行わなかったため、バグ#2531で報告されている、異常なBake処理を起きていました。


theeth氏
Log:
バグ#2201の修正:(Knife と Loop cut で)中心をカットしない場合、分割コードが UV と VertexColor を正しく処理していませんでした。
http://projects.blender.org/tracker/index.php?func=detail&aid=2201&group_id=9&atid=125

効率とクリーンアップのため、UV/VertexColorのループからの分割と、三角形と四角形のコードのマージをやり直さなければなりませんでした。多くのコメントも追加したため、より多くの人々が興味をもって見てくれるでしょう(アスキーアートもあります)。


ton氏

Log:
Curve デフォームが 'tilt'値を計算にいれていませんでした。
この傾きは '3D' Curve だけで動作し、EditMode の [T]キーでのみアクセスできることに注意して下さい。

Log:
バグ修正:Beauty Fill が無秩序な形状でクラッシュしていました。ポインタが NULL でした…。

また、Transform Widget のアイコンボタン用 ToolTip も修正。

Log:
TextWindow: 構文カラーのサポート。

Ricki Myers氏提供のパッチです。動作はばっちりです。Theme editor も見て下さい!

提供されたコードについていくつか:
- デフォルトの構文カラーはハデハデでした!デフォルトのライトグレイの背景に合わせたトーンに落としました。

- 追加:保存されたThemeでのカラーの初期化。(usiblender.c)

- このオプションのボタンの実装は回りくどくなっています…。
Blender UI option サービスで、もっと簡単になります。
('line numbers' オプションにも同じ修正をしています)

- 括弧のマッチは、背景色とテキスト選択色をミックスしたものを使用しています。わたしのテキストエディタも同様の処理を行っていることに気が付きました…。

-> 私は実際、コードの背後にある思想の経過についての、少量の記述を見過ごしていました。drawtext.c のトップの、短いこの機能の端書や、新しい関数の小さな注釈などのようなものです。
あと、PatchTrackerもしくはメーリングリストにもドキュメントは掲載されていませんでしたか?

-> drawtext.c がものすごい勢いで汚くなってしまいました…概要や構造の欠如、個人ごとのコーディングスタイルがごちゃまぜになり、混乱しています。
サポートがアクティブでないコードは危険です…。

Log:
構文カラーアイコン用のボタン画像。


lukep氏
Log:
IRCでZtonzy氏が見つけた Timeline のバグを修正。

Frameモードでズームインしている時、Frameの一部が複数の同じ整数値で描画されていました。無害ですが混乱します。

ton氏へ、この修正が適切なものかチェックお願いできますか?


theeth氏
Log:
バグ修正 #2556: http://projects.blender.org/tracker/?func=detail&atid=125&aid=2556&group_id=9

MEMSET が 軸制限の段取りの呼び出しが行われた後で、TransInfo構造体を消去していました。

通常の Transform のように、マニピュレータ Transform の初期化部分を分割するまで、一時的な修正をしておきます。

Log:
構文ハイライト用の Python のキーワードリストの修正。("and" と "break" がありませんでした)。

公式リストを使用しました:http://docs.python.org/ref/keywords.html

一方 "as" はキーワードではないのですが、これはいつもそういうふう(訳注:"as" is)に使用されている(らしい)ので、同様にリストに入れました。(訳注:すいません、よく判りませんでした。原文:While "as" is not a keyword, it is (should be) always used as such, so I've added it to the list too.)

Log:
私の最後のコミットの修正。

リストにコピーしている途中、"not" を見過ごしており、さらに実際のキーワードの数を変数の値に反映するのを忘れていました。クソ!

Log:
Trasformの中マウスボタンコードへのtonの最後の修正の修正。

氏の修正は project_short の代わりに、project_floatに切り替わっていたことを除いてはよかったのですが。後でベクトルを再度正規化していく過程で、浮動小数点数の誤差が最大限になるため、あまりいいことではありません。
どうにか、zfacメソッドでその軸をスケーリングしているので、project_shortを安全に使用できます(私は最初の修正のきっかけとなった BugTracker のファイルでテストしました)。

Log:
リサイズ関数の初期化されていない変数。
前回のコミットにより生じ、そのままでは正しく動作しないため、EditMode 時の要素の中心モード(Center)が使用不可になっていました。

バグ #2558の修正です:http://projects.blender.org/tracker/?func=detail&atid=125&aid=2558&group_id=9


ianwill氏
Log:
BPython:
- Paolo Colombo氏が報告されたバグの修正:Space ハンドラの ScriptLinks を 3DView用に設定する際、そのエリアが最大化されていると設定されませんでした。

- Blender.Object: object.isSB() メソッドを追加。ある Object が SoftBody かを知ることができます(ob->soft != NULL)。fixfromarmature.py で使用されています。

Scripts:
- 更新:batch_name_edit (Campbell氏)、fixfromarmature (JMS氏)

- 追加:
X3D exporter (Bart氏)
Envelope Suite (Jonas Petersen氏)
BVH 2 Armature (Jean-Baptiste Perin氏)
Camera Changer (Regis Montoya(3R)氏)
Interactive Console (Campbell(ideasman)氏)

- 他のスクリプトも少し更新。

Log:
CVS凍結メッセージがまだなので、新しいスクリプトを追加できる最後の時だと考えました。
No cvs freeze msg yet, so thought I could go with a last minute new script:

Scripts:
- camera changer のライセンス情報(指摘されたTom氏に感謝)を、より厳密にするため GPL にしました。よって、問題なく「ダウングレード」できます。ただし、この作者に確認とリリース前に修正する必要が生じたときのためにメールをしています。

- Evan J. Rosky氏作の Discombobulator を追加(Mesh メニュー):
http://evan.nerdsofparadise.com/programs/discombobulator/index.html

これは非常に興味深い結果が得られる、面白いスクリプトです。「ハイテク」チックな建築物や宇宙船、壁にいいです。寄稿してくださったEvan氏に感謝します。GUIは将来的には追加された "horizontal(横)" レイアウトのように、もっと更新されることでしょう。(注意:EditMode での問題についてのオンラインドキュメントは無視してください。修正されました)


theeth氏
Log:
中マウスボタンでの選択コードをよくするための修正。

zfac を正しく使用するには逆数にする必要がありました。極端にクローズアップしても、極端にズームアウトしても動作します。


ton氏
Log:
バグ修正 #2578

アイドル時間を増やすサブループを作成する私の修正は、knife カット時の「マウスの軌跡」の描画時には必要ありませんでした。これにはイベントを待つ適切なビルトイン関数の qread()を使用しています。

Log:
バグ修正 #2576

[Alt]+[F]の "Beauty Fill" にクラッシュの可能性、例えばすでに伝説となった、Monkey の頭への[Ctrl]+[T]、[J]のテストなどです。
必要な Edge/Face の選択フラグのチェックがないのを見つけました。

Log:
バグ修正 #2577

Borderレンダリング時、スキャンラインの量が「奇数」になる可能性がある場合、OSA スレッドレンダリングが正しく行われているかのチェックがされていませんでした。

Log:
バグ #2582

この組み合わせでレンダリングが成功しません。
1. Armature に Bone へ Parent された Empty があり、
2. Curve が それらの Empty を Hook として持ち
3. Mesh が その Curve にデフォームされている

makeDispList() の呼び出しですぐに解決できました。依存グラフがすでに素晴らしい仕事をここでしていたからだと思います。

Log:
バグ #2583

EditMode の Mesh メニューで Propertional Editing が設定できませんでした。また、モード "Sphere" の名前がありませんでした。

Log:
バグ #2585

SubSurf が ON の時、Separate All Loose Parts でクラッシュしていました。先週 Daniel氏が Separate に行った修正を単にコピーしました。
ええ、これは汚いコードです…。


Log:
SubSurf の VertexPaint を始める際、Vertex Color の初期化が異常でした。
シェーディングされた色を使用しようとしますが、それが SubSurf された Mesh からのものでした。

ここには改造をしたくなかったのですが、この場合の色を黒で初期化しました。


stiv氏
Log:
antihc3氏による、TextWindow のパッチ。
'Memoryblock free: attempt to free NULL pointer(NULLポインタをFreeしようとした)' エラーの修正です。

theeth氏
Log:
中マウスボタンコードを再び修正。(私は「次回までの時間を節約するために省略語を作成する」段階に近づいています…)

今回は、私が実際に通しでテストを行い、そこでのZ要素の使用がオーバーフローにならず、実際の zfac とズームレベルの両方も正しく調整されているため、恐らく良くなっているでしょう。


ton氏
Log:
私はZBlurの実装をリリースに含めないことを決めました。
すべての評価テストで失敗し、さらに UI の混乱についても言及していませんでした。

コードはまだ存在しています。単に ZBlur オプションを削除し、Output パネルを元に戻しただけです。

実際には Sequence Editor のエフェクトの一つとして属しており、次期リリースのいい TODO となりました。

Log:
バックトウザフューチャーバグフィックス!

新しいスペース(ウィンドウ)タイプが追加されたとき、古いBlenderのバイナリでそのようなスペースを保存したファイルを読み込むとクラッシュします。これは素晴らしいファイルの上方互換性を壊しています… SpaceTime の追加により、検査と修正の機会を得ました。もしBlenderが存在しないスペースを検知しても 3DWindow にグレードダウンされるようになりました。テストは完全な2.34ビルドで行いました。

Log:
TimeLine の "Play" で、音声の再生と、シンクロ再生もできるように。ヘッダのボタンとともに、機能を追加しました。

Audio の再生同様[Alt]+[A]で動作します。つまり、Audio Stripを Sequence Editor に追加する必要があるということです。'only sync' オプションにより、[Alt]+[A]によるこの機能の実行を禁止することができます。

また、Sequence Editor で Audio の再生時に[Esc]を押すとクラッシュするのも修正しました。

Log:
[Esc]で 'UI アニメーション付き再生' も停止できるように。他のシチュエーションでの[Esc]とは衝突しません…よって、上手く動作するでしょう。


ianwill氏
Log:
BPython: バグ修正・Trackerからのパッチ。

(早くコミットしてなくてすみません)

Ken Hughes氏のパッチです。(すべてのバグ修正に感謝!)

1) Python で Scene の MapOld と MapNew の値の設定しても何も行われない:
バグ #2566、Dominic Agoro-Ombaka(dmao)氏の報告です。
https://projects.blender.org/tracker/?func=detail&aid=2566&group_id=9&atid=125
パッチ #2571
https://projects.blender.org/tracker/index.php?func=detail&aid=2571&group_id=9&atid=127

2) プログレスバーの設定後、File Selector の呼び出しをするとBlenderがクラッシュ:
バグ #2418、Alessandro Garosi(brandano)氏の報告です。
https://projects.blender.org/tracker/?func=detail&aid=2418&group_id=9&atid=125
パッチ #2568
https://projects.blender.org/tracker/index.php?func=detail&aid=2568&group_id=9&atid=127

3) どのメニューもキャンセルされた時に、いつも同じイベントを生成していました:
バグ #2429、Campbell Barton氏の報告です。
https://projects.blender.org/tracker/?func=detail&aid=2429&group_id=9&atid=125
パッチ #2579
https://projects.blender.org/tracker/?func=detail&aid=2579&group_id=9&atid=127

4) VertexGroups がある Mesh に、Vertex をスクリプトで追加し、その後編集すると、Mesh 部分で Blender がハングアップ:
バグ #2211、German Alonso Tamayo(servivo)氏の報告です。
https://projects.blender.org/tracker/index.php?func=detail&aid=2211&group_id=9&atid=125
パッチ #2580
https://projects.blender.org/tracker/index.php?func=detail&aid=2580&group_id=9&atid=127

バグ #2033について、私はまだ見かけるので、小さな修正をコミットしておきます。

=====

Campbell Barton氏によるパッチ(感謝!):

#2482: BPyドキュメントの BGL のリンク切れの修正。
https://projects.blender.org/tracker/index.php?func=detail&aid=2482&group_id=9&atid=127

#2426: Draw.Text と Draw.GetStreingWidth での拡大文字表示
https://projects.blender.org/tracker/index.php?func=detail&aid=2462&group_id=9&atid=127

#2521: scene.getActiveObject()
https://projects.blender.org/tracker/index.php?func=detail&aid=2521&group_id=9&atid=127

#2523: NMesh.GetNames()
https://projects.blender.org/tracker/index.php?func=detail&aid=2523&group_id=9&atid=127

- ドキュメントも更新しました。


ton氏
Log:
Basse氏報告のバグの修正: Sequence Editor で新しい Strip を追加しても初期化されませんでした。
Sequence "Mult" の値が "Properties" パネルを開いたときには正しく表示されますが、結果の画像は黒く表示されていました…。

Log:
sound-sync をONにした、TimeLine の "Play" を修正。
Audio 再生用に補正された現在のフレームを返す audiostream_pos() に、現在のフレームより少なくとも1フレーム大きいかどうかについてのチェックを追加。いくつかのシチュエーションでは逆再生さえしていました!

Log:
二つの SoftBody 関係:

- "Enable Goal" オプションが割り当て済みの VertexGroup で動作しなかったエラーを修正。

- いくつかのボタンのりネームと、Tooltip の修正。オンラインドキュメントも近日中に用意します。


stiv氏
Log:
Camera、World、Material、Lamp の 失われた Ipo チャネルの修正。Ken Hughes氏の貢献です。


jesterking氏
Log:
このコミットは二つの関連した問題を修正するものです。
1:
* blendファイルがロードされたとき、パスがOSに応じたスラッシュで補正されるように。(blender.c を参照のこと)
* BLI_char_switch(char *string, char from, char to) が使用可能に。
* BLI_clean(char *string) を使用可能に。この関数は恐らくパス関連の動作を行う時などに呼び出され、パスを補正して保存し、他のパス関数が動作を止めるのを防ぎます。

2:
* 相対パスが Sequence Editor でも動作するように(スラッシュ処理が悪かった所為で、上手く動いていませんでした)。


ton氏
Log:
TimeLine ウィンドウで、Start/End フレームを示す暗い部分用の、違う描画コード。これはあまり暗い背景には適していない、GL_BLEND を使用していましたが、今は大丈夫な ThemeColorShade() を使用しています。

Log:
マニピュレータがOptimal時に Subsurf Vertex の位置に描画されるように。見映えはよくなりましたが、これらの位置はあくまで「仮想」のものであり、見えない実際の Mesh の Vertex から導き出されるもので知っておいて下さい。

通常の Transform(そしてマニピュレータの実際の Transform )はオリジナルの Vertex の位置で行われ、また、Size や Rotate 時にPivotの方向へ伸びる破線も表示されます。


ascotan氏
Log:
- リライトとバグ修正
----------------------------------
以下が私のチェンジログです。

- Rand() を修正、毎回シーディングしなくなり、生成される乱数の質もよくなっていると思います。

-fixed Rand() so that it doesn't seed everytime and should generate better random numbers

- いくつかの返値の型エラーをより適切なものに変更。

- 初期化されていない変数のクリーンアップと、必要のないオブジェクトの削除。

- NMesh が ラップされた vector を返すように。

- World が ラップされた 行列 を返すように。

- データがあれば、Object.getEuler()と Object.getBoundingBox()はラップされたデータを返すように。

- Object.getMatrix() は、それがワールド空間であればラップされたデータを返し、ローカル空間であれば、新しい行列を返すように。

- Vector()、Euler()、Mat()、Quat()はすべて内部的には、内部データブロックを壊すことのない、ラップオブジェクトを呼び出すようになりました。

- すべてのメソッドの(不必要な)メモリアロケートを削除。

- Vector のリサイズメソッドが新しい、データがラップされていない Vector にのみ適用可能に。

- Matrix()、Quat()、Euler()、Vector() は、タプルやリスト、コピー用の自身のオブジェクトなど、どんなシーケンスリストでも受け入れるように。Matrix は複数のシーケンスを受け入れます。

- Slerp() を修正、動作が正しくなり、値は0から1の間に制限されるように。

- Euler.rotate が内部の Rotate 機能を行うように。

- スライスがすべてのタイプにおいて上手く動作するように。

- Vector * Vector と Quat * Quat が定義され、内積を返すように。

- Mat * Vec と Vec * Mat が定義されました。

- #include を ヘッダファイルから .c ファイルに移動しました。また、mathutils のプロトタイプ宣言を修正しました。

- gen_utils に、INCREF 用の新しいヘルパー関数を追加。

- ヘッダファイルのインクルードを大きくクリーンアップ ― Mathタイプのアクセス用に、Mathutils.h をインクルードしました。

- matrix.toQuat() と .toEuler() は適切な Matrix のサイズを取るよう修正されました。

- パラメータなしの Matrix() は、デフォルトでは0の行列ではなく、同一の行列を返すように。

- printf() は4桁ではなく、6桁表示になりました。

- printf() はオブジェクトの説明も出力するようになりました。

- Matrix は [x][y] の添え字をサポートするように (例:matrix[x][y] = 5.4)

- Matrix[index] = value は integer ではなく、シーケンスを使用して下さい。これでシーケンスを通じ、Matrix の行が設定されます。index は、Matrix の行のサイズ未満にして下さい。

- Matrix のスライス演算はシーケンスにより動作するように(Matrix の行)。例:mymatrix[0:2] はこの Matrix データにアクセスする、ラップされた二つの Vector からなるリストを返します。

- スライスの適用は失敗しても、もうデータを変更しなくなりました。

- Matrix * スカラの乗算のエラーを修正。

- euler.toMatrix()、toQuat() はもう繰り返し使用しても、「変形」することがなくなりました。

- toEuler()、toQuat()、toMatrix() が使用された時、ラップされたデータはラップされたオブジェクトを生成します。

- Quat を角度/軸、軸/角度から作成できます。

- 4x4 Matrix は3D Vector で乗算可能です。(大勢の需要)

- vec * quat / quat * vec が定義されました。

- vec.magnitude は vec.length の別名です。

- すべての self、内部メソッドは自身へのポインタを返すようになったため、print vector.internalmethod() や print vector.internalmethod().nextmethod() が行えるようになりました(もうprint matrix.inverse() は 'none' を返したりしません)。

- 以下のメソッドは反対されています。(まだ機能しますが、正しい関数を使用するよう提案されています):
* CopyVec() - Vector() の機能で置き換えられました。
* CopyMat() - Matrix() の機能で置き換えられました。
* CopyQuat() - Quaternion() の機能で置き換えられました。
* CopyEuler() - Euler() の機能で置き換えられました。
* RotateEuler() - Euler.rotate() の機能で置き換えられました。
* MatMultVec() - matrix * vector で置き換えられました。
* VecMultMat() - vector * matrix で置き換えられました。

- 新しい構造体のコンテナは、Python オブジェクトデータもしくはラップ用に内部でアロケートされたBlenderデータを参照します。
* ここで説明を:Math 構造体は「シンプルなラッパー」もしくは「py_object」として機能しています ― 動的に作成されたデータは現在、Pythonによるメモリ管理がされている「py_object」となります。

* 一方、もしデータがBlenderのG.mainから帰って来た場合、Mathオブジェクトは「シンプルなラッパー」となり、データは他のPythonオブジェクトの用に、構造体から直接アクセスできます。


ton氏
Log:
バグ修正#2591

依存の問題が…distplaylist が デフォームされた Object の Vertex Parent 用に作成されたとき、新たに where_is_object() を呼んで解決しました。




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

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