bf-blender / Windows (2005/03/18)
投稿日時 2005年03月19日 | カテゴリ: テストビルド
|
元記事:bf-blender / Windows (2005/03/18)
gabio氏による3/18付bf-blender Windows版のビルドの配布です。
皆さんこんにちは。私が新機能を見てとても興奮したので、新しいビルドを公開しました。あまり時間がないのでこれ以上は後ほど。Widgetが登場しました。皆さんがこれをいいと思うか悪いと思うかは判りませんが…。軸の選択を小さな灰色のラインで行うという、この新しい追加も素晴らしいです。すべてをテストし、試練を与えてみて下さい。 OpenEXRは現時点では削除されています。再びコミットされるには更なる作業が必要です。 また、面制限(Planar constraint)が[Alt]の代わりに[Shift]で可能になったことにも注目して下さい。
新Transformに関する詳細はこちら:http://wiki.blender.org/bin/view.pl/Blenderdev/TransformRefactoring SConsを使用した、MSVC 7によるビルドです! ----------------------------------- 概要 - Python関連の新機能。 - バグ修正 (#2324、#2320) - Transformの色々な作業、基本的には旧機能の復活。 - 3D Transformマニュピレータ(widget)のフレームワークの構築。 **現在実装済:Translation Widget
Commit pidhash氏 Log: getDupliVerts メソッドと setDupliVerts メソッドを追加。
ton氏 Log: Fish-Face/Chris Le Sueur氏により IRC で報告されたバグの修正。
Objectを削除後、free_and_unlink_base()を呼び出すと、ObjectのポインタがNULLなのをチェックしてくれます。しかし、Constraintだけば別でした。大ボケ!!!
よって、関数の最後に、test_scene_constraints()を、クラッシュを防ぐために追加しました。これは join_mesh と convert_object でも見過ごされていました。
pidhash氏 Log: ドキュメントに set/getDupliVerts メソッドについての記述を追加。
theeth氏 Log: 数値入力が軸制限にも正しく適用されるようになり、ヘッダへの出力も正常になりました。
これは、数値入力により、Grab/SizeをあるObjectに対して行えることを意味し、[X]キーを押し、[2]を入力(X軸上を2倍/2つ、リサイズ/移動)し、そして[Y]キーを押すと、数値がY軸上のTransformに適用されます。
EditModeで中マウスボタンを使用時、軸制約の中心位置が再調整できないという小さな欠陥を修正しました。(表示系のバグのみ)
Log: 複数のObjectに対するローカル軸がSizeで動作していませんでした。 また、移動を適用するループを分割しました(マクロのインタフェイスの可能性に対し)。
Log: WarpがTransDataのメンバをG.obeditの代わりに使用するようにしました。PETとObjectに同時に作用するようにしました。
stiv氏 Log: 私たちのBPyモジュールファミリーの一番新しいメンバー、Text3d についてドキュメントを少し編集。
ton氏 Log: Transform:
Camera視点でのCameraのGrabが動作しますが、中ミドルマウスのトグルは動作せず、これはMartin Pがコーディングした、新しい "Dorry"制限モードにする必要があります。
theeth氏 Log: ArmatureのEditModeを修正。Gabio氏のバグ報告(Transdata の変換が正しくデータの中心を設定しない)です。
Shrink/Fatten を復活。挙動を少し変更、カーソルを右に動かすとNormal方向に向かって移動、左に動かすと反対方向に移動します。コメントをお願いします。 Meshでのみ動作し、デフォルトでサイズを変更する別の方法です。
Log: 数値入力用の新しい AFFECTALL フラグ。
このフラグがセットされると、カーソルが最初の位置にある時に、現在何も入力していない場合は数値入力が全ての軸に影響します。
[S]キーを押し、[2]、[Enter]ですばやく2倍のサイズになります。
自慢する気ではないですが、このコードはむしろ気が利いており、カーソルがすべて位置に表示されるため、すべてに影響することと、値を入力する位置が定まっていないことを把握させてくれます。
旧コードがこれを許可していたことを思い出させてくれたSamAdam氏に感謝します。
ton氏 Log: Transform: Extrudeの後、軸制限をデフォルトとする仕様を復活。'Individual faces' を選択したときは Shrink/Fatten オプションを使用します。
Martinへの注意:君は知ってると思うけど、軸の中心がまだおかしいです。 テスター以外の人への注意:残念なことに、旧Transformの軸制限はもう機能しなくなりました。新しいコードの方がもっといいので、復旧の改造はしません!
sirdude氏 Log: このコミットは私が前の金曜日に行ったOpenEXRのコミットの中の、OpenEXR特有の物を取り消すものです。すべてが動作するようになるまで、現時点の物を含む PatchesTracker でパッチが利用できます。
Kent
ton氏 Log: バグ修正 #2324
とにかく、方法は証明できないのですが、Mesh内のFaceやVertexが選択できないのに、Edgeは選択できます。EditModeに入ったとき、これらの選択フラグも選択するようにしました。
theeth氏 Log: 複数のObjectのローカル軸制限のリサイズ用の、行列の乗算の復活作業が終わりました。あまりにも粗末なため、私のテスト事例は見せられませんが、今修正しました(本質的には、複数の選択済Objectのリサイズとローカル軸の組み合わせはあまりよくないのですが)。
ton氏 Log: バグ修正 #2320
2.36の馬鹿げたバグ! FaceSelectModeで、他のSolid Objectが表示されていませんでした。なんてことでしょう!
追記:Halo Materialを使用した時、'X Alpha'を設定、さらにHaloオプションをOFFにし、'Only Shadow' オプションをONにすると…同じビットを使用しています…。 根本的な修正をするには時間がないので、現時点ではHaloをOFFにした後は、常にこのビットをクリアしています。
theeth氏 Log: PET(Proportional Editing)モードでのTransformの最適化。
TransData配列の要素のソートをその距離にそって行うように。これは適用されない最初の要素を見つけた時に、いつでもループをストップできることを意味します。これにより、PETの計算と実際のTransformが、エリア外の最初の要素で止めることにより早くなります。 ソートアルゴリズムはクイックソートのスワップしないバージョンで、それぞれのサブノードの最初をピボットとして使用します(よりランダムで、簡単に実装できます。実際には3行のコードを追加するだけです)。
Log: 軸制限の中心の計算を修正しました。Transformの中心の計算を行う場合、非常に賢くなりました…。
Extrudeの軸制限を修正。Objectの行列によりNormalを前乗算(premul)する必要があったのに、グローバルスペースにありました。
また、ロックする軸の特殊キー(面制限用)を[Alt]から[Shift]へ移動。[Alt]は中ボタンマウスエミュレーションと衝突していました。(TestBuildsフォーラムの報告より)
カメラのパンのTransform。
Log: 中マウスボタンの挙動について少し。
軸制限の選択は(マウスポインタ位置の代わりに)マウスの動きを元にするように
中マウスボタンをクリックしただけの場合、まさしく旧Transformのような動作をすることを意味します(90%のケースで。残り10%は旧Transformでビューポートの極端な方向変換の所為で中マウスボタンが意図せずクリックされた場合)。
また、実際に何を元にしているか参照する方法がなかったため、マウスの動きを表現する、軸線の中心から始まる破線を描画しています。
以前より良くなったか悪くなったか、テストと議論をお願いします。
ton氏 Log: 以前のEdge選択の混乱に対するバグ修正についての前回のコミットにタイプミスがありました。Edgeの関数にFaceのポインタが渡されていました…ちっ!
theeth氏 Log: 軸制限行列の正規化が必要でした。 この修正はintrr氏とLetterRip氏の報告によるサイズ変更のバグに対する物です。
pidhash氏 Log: GetScreenInfo使用のサンプルを修正。
ton氏 Log: そうです、とうとう Martin P の作業のパワーを披露する日が来たのです!
- 3D Transformマニピュレータフレームワーク(widgets) - このマニピュレータは '2Dボタン' のように、デフォルトでは左マウスボタンとドラッグ&リリースで動作します。 - 現在実装済の物:Translation Widget。これは、 - 4つのクリックポイントで軸の移動もしくは視点に依存する移動ができます。 - 中心は「自由移動(around)」が定義されています。 - [Shift]+左マウスボタンで他の2つの軸との面制限になります。 - ObjectModeとEditModeで動作します(PoseModeはまだ)。
3DWindowsのヘッダにある(仮の)アイコンで使用可能になります。ちなみにその時も、他のすべての「通常の」Transformも動作します。
この Widget のTODO: - グローバル、ローカル、Normal方向の選択。
この Widget は作業の途中であり、まだ検討中です。また、このコミットは、Matt氏の提案・トピックでの論文によるものです。 このプロジェクトについてのいくつかの覚え書きを。
- 3DSのように(マウスオーバーでの)更新はしない。ノイローゼになりそうです。 - クリック時、属する軸は "Transform" Themeで定義されている色に変更し、他の軸はMayaのように消えるように。 - マニピュレータのサイズはプリセットで固定し、ズームとは独立する。 - マニピュレータは選択に追従、もしくは 'around' モードを元に位置を決定。
未決定の物:
- Mayaでは、二つ以上のObjectを選択した時、マニピュレータは「アクティブ」Object上に描画されます。これも面白いです。 - [G]、[R]、[S]のホットキーはどうしましょう? マニピュレータの「モード」を変更もできるのでは…。 - マニピュレータモードのヘッダのボタン/メニューは?
|
|