bf-blender / Windows (2005/04/13)

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

元記事:bf-blender / Windows (2005/04/13)

gabio氏による4/13付bf-blender Windows版のビルドの配布です。

新たな週が終わりました。以下をご覧下さい。

p.s. 今回からアーカイブは二つに分割され、よりサーバと帯域にやさしくなり、さらにダウンロードも早くなりました。xtra のアーカイブについては、新しいファイルで更新されたら告知する予定です。もしすでにblenderをインストールしてあれば、xtra ファイルは必要ありません。

SConsを使用した、MSVC 7によるビルドです。
-------------------------
概要
- バグ修正。
- コネクテッドPET(Proportional Editing)と通常PETのトグル切り替え。Transform中に[Alt]+[C]。
- Ricki Myers (themyers)氏からの、TextWindow の再構築。
- MetaElem の大きさの変更が再び可能に。
- 緑の円を選択すると、stiffness(MetaElem) の量が変更できるように。
- SoftBody のタイムスケーリング機能。
- 【改造】Particle衝突判定システムをSoftBodyのニーズに適合させるように(WIP)

Commit
bjornmose氏
Log:
ノードの重さが二回乗算されてしまうという小さな不調の修正。(ton氏に感謝)
sbObjectStep(...)を「タイムステップルール」に従うようクリーンアップ。
Scene の Framerate をちゃんと考慮するように。
softbody_calc_forces(...) と softbody_apply_forces(...) のパラメータをより可読性の高いものにリネーム。
Particle 統合を ODE Solver と互換性を持たせるために修正。

Log:
ほぼ無限ループに近い状態を生じていた、未初期化部分を修正。
Wind は 摩擦の媒体となりました。突風が終わったときのおだやかな状態と、固定された方向での状態との一貫性を持たせるためです。

zuster氏
Log:
- separate_meshのクラッシュを修正…それは非常に嫌なコードによるものでした。(訳注: Thanks.)

theeth氏
Log:
コネクテッドPET(Proportional Editing)と通常のPETのトグル切り替え。

Transform中に[Alt]+[C]で行います(変更のためのホットキー)

現時点では見た目に何が変形されるか以上の手がかりはなく、毎回リセットされます(グローバル変数のフラグとして保持していません)。

よって、これについてやるべきことはまだ沢山あります。

jiri氏
Log:
- バグ修正 #2400 (私が uiDefButF() 関数にいくつかのパラメータを追加するのを忘れていました)
https://projects.blender.org/tracker/index.php?func=detail&aid=2400&group_id=9&atid=125

hos氏
Log:
バグ #1576 の修正。
Armature 外の Object/Bone を指す、Bone の Constraint が動作していませんでした。figure_pose_updating() は、Armature/Bone に必要な更新(操作されている Armature でない場合でも)の計算をするため、Scene の Constraint を元に、信号の群を送ります。

zuster氏
Log:
- shadedisplist を、すべての Object の displist データを解放しないようにしました…。
描画コードによると思われるデータキャッシュで汚くなっているからです(言及されていなかったのは単にぼけていただけです)。ここには魔物がいます…。

stiv氏
Log:
ハイライトが消えるバグの修正と、テキストエディタのコード再構築。
Ricki Myers(themyers)氏からのものです。

また、素晴らしいコミットメッセージも届いています!

source/blender/blenkernel/BKE_text.h

- indent_paste、uncommen、unindent_lines、comment_paste、uncomment_paste、uncomment、set_tabs の削除。

これらの関数は、テキストのカットと再追加を行います(これは安全でないと思います)。おかげでハイライトが失われていました。

- 現在、関数は、Indent、Unindent、comment、uncomment、setcurr_tab だけとなります。これらすべての関数は、一つのパラメータだけをとります。(Text構造体)

- indent(struct Text *text)
行頭にタブを加えられた行により、

MEM_mallocN で取得された行に選択されたテキストをコピーし、一行ずつ行頭にタブを追加します。

- Unindent(struct Text *text)
現在行がタブで始まるかどうかを確認、タブであれば除去します。

- comment(struct Text *text)
選択されたテキストを MEM_mallocN で取得されたバッファにコピーし、#を行頭に追加します。

- Uncomment(struct Text *text)
現在行が#で始まるかどうかを確認、タブであれば除去します。

- setcurr_tab (Text *text)
現在のタブをチェックします。すべてのテキストに対し、
もし : が見つかり、それがコメント内でなければ、タブを一つ増やします。
もし "return"、"break"、"pass" が見つかれば、タブは減らされます。


blender/source/blender/src/header_text.c

変更前:
txt_cut_sel(text);
indent_paste(text);

変更後:
txt_order_cursors(text);
indent(text);

* もうテキストのカットは行いません。


source/blender/src/drawtext.c

set_tabs(Text *text) は単に setcurr_tab(text) を呼び出すだけに。

zuster氏
Log:
- バグ修正 #2433、Mesh が Edgeのみ(もしくは Mesh.medge)の場合、正しく描画されていませんでした。

Log:
- 隣接した Face がない Edge に Crease が適用しないで下さい…おかしなことになります。

theeth氏
Log:
bezierハンドルのリサイズが正しく動作していませんでした。これは bezier には EditMode中の Individual Center 用に前準備が必要だからです。
以前この部分を見たとき、Individual Center を少しクリーンアップし、生命線に触れてしまったようです。

お遊びとして、CenterモードをIndividual Centerにし、bezier Circle を作成、ハンドルを Free(H) に変更し、リサイズもしくは回転してみて下さい。面白いでしょ?

ton氏
Log:
バグ修正 #2424

ある Face に正確に直交する、Sun Lamp による結果が不定でした(黒もしくは完全照射)。acos() を入力範囲のチェックなしで使用していたことが原因でした。Float の計算ではわずかながらアンダーもしくはオーバーフローになる可能性があります…。
よって、常に arithb.c の関数、saacos() を使用することにしました!!!

rendercore にて更に acos() の使用を発見(blinn と Arealight)。すべて除去しました。これで人々を困らせていた白黒のドットを解決できたかも?

Log:
バグ修正 #2431

Blinnスペキュラのアンダーフロー…。いくつかのケースで結果が非常に小さな負の値で返り、(また!)黒いドットが発生します。
いいデモファイルによる明快な報告をくださったrandall氏に感謝。

Log:
バグ修正 #2428

EditMode 時に "Separate" と "Split" コマンドが他と繋がっていない Edge を正しく計算にいれていませんでした(中に残っていました)。これらの Edge は正しく除去されるようになりました。

注:これは [X]キーの "Delete->Faces" ツールも少し変更します。すでに全 Face と繋がっていない選択済の Vertex を削除していますが、現在はさらに繋がっていない選択済の Edge を削除します。より一貫性が向上しましたが、少し混乱するかもしれません…。
Log:
バグ修正 #2415

Envmap のレンダリングでガウシアンフィルタ(Gauss)を使用していたため、(環境マップ用に生成される)キューブマップ画像の縁が暗くなっていました。現在は Envmap レンダリングにはガウシアンフィルタを一時的に切っていますが、いずれにせよ、最終結果ではフィルタリングとガウシアンフィルタがかかるため、全く見分けはつきません。

Log:
Bug fix #2413

'extrude edges only' での初期化されていないポインタの使用によるクラッシュが起こっていたようです。

Log:
コードの間違った位置で馬鹿なポインタの設定を行ったため、PoseMode で枝分かれした Armatureで複数の Bone を選択した時に、Transform が動作していませんでした。

テストファイルを作成された Richie 氏に感謝!

Log:
Bug fix #2411

(大きなコミットに見えますが、ほとんどは単にAPIの呼び出しを変更しただけです!)

Particleのエミッターが Armature の Bone に Parent できるようになり、それぞれの Particle に正しい経路が与えられるように。デフォームには動作しないことに注意して下さい!
そして、Armature 全体のそれぞれの Particle について、すべての Action と NLA Strip が評価されます。

ところで少しの間だけ、単に全ての Armature を呼び出し、もう一度すべてデフォームをかけるだけのコードを使用したのですが、本当に遅いものでした…。それがAPIの呼び出しの理由です。
do_all_actions() は Object * を処理するものひとつだけを受け取るようになり、NULL で従来どおりすべてについて行います。もちろん再コーディングではなくなるでしょう…。

jiri氏
Log:
- MetaElem の 半径の大きさが再び変更できるように。
- 3DView で dx、dy、dz パラメータがマニピュレータもしくはショートカット([Shift]+[X]、[Shift]+[Y]、[Shift]+[Z])で変更できます。
- 緑の円を選択することにより、ユーザが stiffness の量が変更できるように。
- MetaElem は右クリックで緑もしくは赤の円をクリックすること選択され、従来どおり、Grab もしくは Rotate が行えます。

- スクリーンショット:
http://e-learning.vslib.cz/~hnidek/pics/scale_stiffness.jpg

- キャプチャビデオ:
http://e-learning.vslib.cz/~hnidek/captured-videos/scale_stiffness.avi

theeth氏
Log:
小さな Transform の修正。

回転の動作が Perspective モードではおかしなことになっていました。回転軸の取得に、viewinv を persinv の代わりに使用することで改善されました。Transformの中心に依存した、実際の視線ベクトルを使用する(getViewVector)のが、さらにいい方法でしょうが、それについては少し時間を下さい。

Meta Element のリサイズには、他のものに切り替わったときに、半径の変更もしくは軸のサイズの変更を再設定するコードが必要でした。(私のミスで、Jiri氏から実装方法について教えてもらっていたときにこれについて考えていませんでした)。

Log:
[Y]キーによる Transform の軸制限がごっちゃになっており、グローバル時の文章とローカル時の文章の設定が逆になっていました。

GSR氏のEmailによる告知と助けに感謝します。

eeshlo氏
Log:
バグ #2393 (#2218と同じ)、Blenderの他の部分のコードが変更された所為で、デフォームされた Mesh が正しく Transform されていなかったのを応急処置的に修正。

ton氏
Log:
バグ修正 #2394

Cameraビュー中、ローカル軸の回転([R]、[X]、[X])で、ビューが不安定になります。初期化された TransInfo->viewmat の代わりに、ビュー行列の view3d がまだ使用されていました。

ある理由により、横方向のモーションだけ使用して、このケースのマウスモーションをチェックしてもらえますか?

また、InfoWindow のボタン "Disable sound" を "Disable Game Sound" にリネーム。

Log:
バグ修正 #2323

2.36で追加された、バンプマッピングのビューやObjectの回転に対する修正が、古いファイルの素晴らしいバンプマップの設定の多くがあまり素晴らしくなくなりました。特に X から Z や、Z から X へのような、"MapInput" パネルの "flipped" マッピングの適用でそれが顕著になります。修正後は間違った結果になっていました。

実際には「バンプマップの修正(correct bumpmapping)」は新しい機能であり、レンダリング時間の増大も招いているため、私はこれを一つのオプションにしました。"MapTo" パネルは完全に使用されているので、新しいボタンオプションを(一時的にしたいのですが)Material Context の "Texture" パネルの最初に置きました。

リリースログページも更新する予定です!

Log:
バグ修正 #2438

Snap コードでは Object 内の Hooks をチェックしていますが、最初に Hook->parent が存在するかをチェックするのを忘れていました。「空の」Hooksでクラッシュしていました。(訳注: Thanks.)

bjornmose氏
Log:
SoftBody の時間のスケーリング機能を関数に置きました。
よって、後で正しいタイミング方法を決めることができます。
static float sb_time_scale(Object *ob) [softbody.c] にその準備をしました。(ton )

【改造】Particle衝突判定システムをSoftBodyのニーズに適合させるように。
えっと…私は本当は kernel の effect.c の int pdDoDeflection(..) のような改造は好きではないですが…。(でも動きます。)
そう…私たちが「SoftBody シミュレータと共存できる」「いい」衝突判定を持つまで…。
内部テスト関数、static int sb_deflect_test(..) は更なる議論のために、削除していません。

http://mitglied.lycos.de/mosebjorn/hidden/sbcol6.blend
少しの間だけダウンロードできるでしょう。(訳注:ダウンロードできない場合は、オリジナル記事内からダウンロードして下さい)

Log:
sb_deflect_particle() の pdDoDeflection() へ、データへのポインタの代わりに、重要なデータのローカルコピーへのポインタを渡すように。

Face の Normal にそって動かすことで、SB の衝突判定でずぶずぶ沈むのを変更。

zuster氏
Log:
- バグ#2385の修正、Potato モードで Mesh のアウトラインが描画されていませんでした。

Log:
- バグ#2412のすばやい修正、Mesh の Edge のレンダリングする Normal が初期化されていませんでした。二つの Edge の終点 Vertex の Normal の平均で修正しました。


bjornmose氏
Log:
穴があったら入りたいです。
初心者の典型的なタイプミスで Particle を壊していました。

ton氏
Log:
SubSurf + Wireレンダリングの二つの小さな修正:

- Edge データが存在していたとき、renderlist への Face の追加をスキップします。
- Edge は "Optimal" の設定に沿ってレンダリングされます。

Log:
ちっ! バグ修正#2411のコミットが、Particleシステムに Parent されている物だけを呼び出す代わりに、ふとしたことから、すべての Action(すべての Object 内の)をまだ呼んでいるのを発見してしまいました。

ton氏
Log:
Extrude で正しい Normal の方向を探知するコードを少しクリーンアップ。
また、もしオリジナルがそこに残っていれば、Extrude でコピーされた Face の Normal を反転するようになりました。

bjornmose氏
Log:
ふむ…。
四角形最適化をOFFにしました。四角形を二つの Face に分割しても、常に両 Face についてのテストを必要とするため、僭越ながら、これはバグとさせていただきました。


という訳で、

衝突判定きたよ…・゚・(ノД`)・゚・

…まだ完全じゃないし決定でもないですが。



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

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