bf-blender / Windows (2004/07/13) Updated (LSCM)
投稿日時 2004年07月13日 | カテゴリ: テストビルド
|
bf-blender / Windows (2004/07/13) Updated (LSCM)
ながらくお待たせしました。 Gabio氏による、7/13付けCVS bf-blenderのWindows版ビルドの配布です。
*EDIT* そうです!別の枝になっていた新しいLSCM UV展開システムがリリースの一部分となりました。これは私のビルドのちょうど後にcommitされたのですが、私はこれを次週にまわして、あなたをがっかりさせる気はありません!
くぅ、私は自分のコンパイルマシンから長く離れすぎたようです! 今から、私がした前回のビルドからのすべての機能をお伝えします。私は何人かの人々が私のビルドについて尋ねるのを(ちょっと驚きながら)見かけました…なぜなら、私は特別に優れているわけではないのです(jesterking氏はもっと上手くできるでしょう)。私は単に私のしたこと(私がしたくてしたこと)を好む人がいることを喜んでいるといいたいのです。私の小さな習慣は長い作業ではなく、単にビルド進行中にコピペをしただけですが、なんであれ、役に立つのであれば…。 でも忠告させて下さい。このフォーラムは皆がビルドを投稿できるよう開かれています。 ------------------------------- さて、冗談も終わったところで6/26以来のビルドを。
概要 - Pythonを通じたObejctのWorld・ローカル行列の操作 - 新Effect:Leon氏のParticle Effect - YafRay.dllプラグインがとうとうWindowsで動作するように - バグ修正 - MetaBallのポリゴン化の最適化。 - New:ディフューズとスペキュラのRampシェーダ - GamePlayerの復活!(Save Runtime) - "MapTo"パネルの新しい演算 - 新しいPython機能とスクリプト - Textureを元にしたParticleモーション - 新しいインタフェイスボタン:ScriptからのBack - 新しいメニュー:多くのWindowタイプでのScriptメニュー - Static Particleがデフォーマで変形されたMeshで動作するように - 数値フィールドの編集がクリックで直接行えるように - 新しいカラーボタンのカラーピッカー - displacement、translucency、raymirrorのIPO - Sweepエフェクトの修正 - SubSurfのCreases - ParticleのVortexフィールド。ParticleはObjectのZ軸に回転します - Particle反射の最適化 - Orthoカメラのサポート(YafRay) - SweepメニューにClock Wipeエフェクトが追加 -LSCM UV Unwrapping.(See blender3d webpage)
Commit: Kester氏 Log: マイナーフィクス: Pythonからブーリアン演算をより使いやすく。 Windows用のために#includeを修正。 Pythonドキュメントの修正。 FaceをZソートする場合、一番遠いVertexをそのFaceの位置として使用するように(Cameraは-Z軸にあります!)。
ascotan氏 Log: - World・ローカル行列のPythonによるObjectからの取得をサポート。cvars matrixWorld・matrixLocalを追加。 - クレジットはCampbel Barton氏です。
ton氏 Log: Leon氏からの新Particleエフェクトの修正パッチ。
新機能はObjectがForce Fieldを持つことができるようになり、さらに加えてMeshにParticleのDeflect(衝突)設定を持たせることができます。これはObjectButtons(F7)にサブメニューがあります。
Web上の完全な説明はLeon氏がすでに私にMail済で、CMSに明日置きます(訳注:http://www.blender3d.org/cms/Changes_since_2_33.319.0.html)。今遊んでみたい人達のために、デモファイルがあります。
http://download.blender.org/demo/test/
しかし、統合に際しすっかり変更されたため、以前作成されたParticle Deflectorは動作しません…変更は以下の通りです。 - gravityは 'force field' に変更されました。 - force fieldとdeflectorオプションはObjectに移動、Meshではありません。 - オプションはまた、自身の構造を持ち、デフォルトではObjectに追加されていません。 - force fieldはすべてのObjectタイプで使用可能ですが、中心点だけに働きます。Empty Objectがその代表的な例です。
作業すべきこと: - 3D Windowでforce field Objectを示す描画方法を追加。 - UIのチェック(パネルサイズの変更?) - deflectorパネルに'recalc'ボタンを追加。
jandro氏 Log: とうとうにっくきdllの問題を解決しました。私の課したテストが私のWin32 Boxでクラッシュなしで動作しています。しかし、知っておいて下さい! 恐らくもっと多くの物が発見、逆上の瞬間を待ち望んでいます。誰も安全ではないのです。
ton氏 Log: Metabalの法線が再び反転してました…私に指摘されたjiri氏に感謝します…。
jiri氏 Log: - オクトツリーのノードをMetaBallのポリゴン化の最適化のために追加。 MetaBall512個のポリゴン化の結果: * 2.33a: 76秒 * CVS版: 8秒
- "Never"ボタンがEditButtonsに追加。Metaballはレンダリング時にのみポリゴン化されます(これはParticleアニメーション時に便利です)。 http://e-learning.vslib.cz/hnidek/misc/bowl_metaballs.blend
ton氏 Log: 新機能:ディフューズとスペキュラ用Rampシェーダ。
http://www.blender3d.org/cms/Ramp_Shaders.348.0.html
MaterialのcolorとspecularをColorbandで定義できるようになりました。実際のcolorは下記のシェーディングを元に定義されます。 - shade値(内積に似ています) - energy値(内積プラス光量) - normal(法線) - result(すべてのシェーディングの結果。最後に追加するのに便利です)
@ndy氏からの特別な要望です!
Log: パネルの描画エラーを修正、headerがパネルの背景に上書きされていました。パネルが透明でない時のみ見えるように。
broken氏 Log: Boneを削除したときにでる、誤解されやすい確認メッセージを修正("Erase selected bone"であり、"Erase selected armature"ではない)
ton氏 Log: 報告#1401 0除算がレンダリング位置の計算中に起こっていました…Wire Material時にFaceのないEdgeがあるときにのみ起こります。その時に法線が0になり、いくつかの計算が正しく行われなくなります。 (エラーはrendercore.cにあり、他のcommitされたファイルはクリーンアップに入ったため削除されています)
Log: Materialのコピー・ペースト機能に追加するのを忘れていました。Materialに追加された新しいColorBandデータについて正しく取り組む必要がありました。
Log: バグ#1411 「EditMode中のキーの挿入が、新しく作られたMeshに対して動作しませんでした」
このエラーはHos氏が12月にCommitされたコードで発見されており、VertexKeyの編集時、新しく追加(もしくは削除)されたVertexをコピーする機能を彼が追加したときのものです。彼のcommitにはすでに「テスト願います」と書かれていました。
エラーは新しく作成されたMeshに正しく最初のキーが設定されなかったことです。キーは2.32と2.33ではEditModeを少なくとも一度は抜けるか、EditMode外でキーを挿入すると動作します。
修正は実にシンプルで、単に最初のキーが空かをチェックするだけでした。
Log: スタブに新しい外部レンダーコールを追加…よってPlayerを再度コンパイルしています! Added new exported render calls in stubs... so player compiles again!
Log: Alpha付テクスチャ画像のレンダリングを修正…アウトラインが暗くなっていました。 下記の注意をお読み下さい:
- もし画像をBlenderのテクスチャとして使用したい場合、skyのレンダリングを'premul'で保存する必要があります。 - ただしSequencerのAlpha-over用には'key alpha'にしなければなりません…。
この一貫性のなさを解決する必要があります…例えば、Sequencerの両方のテクスチャのオプションなど。
Log: 新しい演算を"MapTo"パネルに追加。提案とコードの一部はKent Mein氏。mix(混合)、mult(乗算)、add(加算)、sub(減算)の次に追加されたのは以下のとおりです。 - Div: Texture colorで除算(訳注:同じ値のところが消える) - Screen: Multと同じような物ですが、反対の動作をします(明るくなります) - Diff: Texture colorとMaterial間の相違点 - Light: Textureの方が明るければそちらになります(コンポーネント毎) - Dark: Textureの方が暗ければそちらになります(コンポーネント毎)
次回には、これをSpecularとMirror、そして他のチャネルに拡張します…。 私がこれを今commitしたのは前回のcommitのバグも直したからです。
ianwill氏 Log: 新しいスクリプト: - hotkeys、obdatacopier、renameobjetbyblock。すべてJean-Michel Soler(jms)氏。 - bevel_center(Loic Berthe氏)。同梱の提案はjms氏によるものです。 - doc_browser(Daniel Dunbar(Zr)氏)。
彼らの新しい寄稿に感謝します。
(私はdoc_browserを'Misc'に入れました。なぜならスクリプトを実際に書きたいと思っているユーザのみが使用するからです。でも、'Help'にいれることもできます。どう思いますか?)
BPython関連: - Opject、Lamp、Camera、WorldへのScriptLinkメソッドを追加。 - Object: Object.makeTrackとObject.clearTrack(旧Track方法)を追加。 - Sys: Sys.exists(path)が、0: 見つからなかった、1: ファイル、2: ディレクトリ、-1: どちらでもない、を返すように。 - ドキュメントの更新と修正。 - ONLOADイベントが動作するように。G.fのSCENESCRIPT bitがset_app_data内で0になるように。 - Blender: LoadとSave関数を.blend以外の内部インポータとエクスポータ(dxf、videoscape、vrml1.0、stl、…)のサポートのために更新。 - Draw: マウスホイールイベントの追加。 - Scene: Scene.playをアニメーション再生([Alt]+[A]と[Shift]+[Alt]+[A])のために追加。いいカウンタになり、さらに、'win'アトリビュートがあるスペースに設定されていると、「アニメーション」しません。
このScene.play()の追加とONLOAD ScriptLinksの修正はBlenderデモモードの動作の一部です。すでに動作はしていますが、私はさらにRadiosity計算のサポートの追加とmain()内部の修正を行おうと思っています。ONLOADスクリプトを実行するには早すぎる所為で(BIF_Init)、Blenderを立ち上げたとき、[Alt]+[A]によるアニメーションとレンダリングを行うと奇妙な結果になります。プログラムが立ち上がったあとに読み込めばこのような問題はありません。完了したときはデモモードスクリプトを投稿する予定です。
ton氏 Log: 三つを一つに:
- Texture: 新しい演算を他のrefやspecのようなMapToチャネルにも動作するように。また、LampやWorld Textureでも動作するように。 - Textureを元にしたParticleモーションのため、Leon氏により削除された、コード中のコメントのない行を復活。 - glPylonOffset(訳注:glPolygonOffset?)の改造をちゃんとした関数に再コーディング、これは将来的なテストのためです。
ianwill氏 Log: インタフェイス: - サブメニュー"Scripts"を3DWindow→ObjectとMeshメニューの両方に追加。 これらは最上部に置いています(ガイドラインに沿った方法で、ユーザは違う位置にある"Scritps"サブメニューをそれぞれのメニュー中で探す必要がなくなります)が、変更は自由にどうぞ。 - 'previous win'ボタンをSpaceScriptに追加。例えば、すばやくButtonsWindowへアクセスできるようになります。恐らくすべてのスペースがこのボタンを持つべきだったのでしょう。
BPython: - Window.EditMode()を、チェックとEditModeへの入出のために追加。Meshデータを変更するスクリプトはもちろん、アクティブな(G.obedit)Meshに変更を加えるより前にEditModeを出るために、これが必要になります。 - bevel_centerスクリプトを上記の関数の使用と、アクティブなObjectがMeshではない場合にエラーメッセージのポップアップを出すように変更。 - ドキュメントの変更、少し修正。
前回の私のCommitで説明するのを忘れていましたが、コマンドラインオプション"-P"を更新し(スクリプトファイルの実行のため)、すでにBlenderのTextにあるスクリプトも実行できます。もし'Text'と呼ばれるスクリプトがfoo.blendにあるなら、blender foo.blend -P Textで実行できます。
ton氏 Log: Static ParticleをLatticeやArmatureなどのデフォーマで変形したMeshで動作するように。注意:SubSurf Meshでのみ動作します!
drawobject.cの変更:SubSurf Meshに適用したHaloオプションで点を描画するように。ただし、オリジナルの頂点を使用します…。
ascotan氏 Log: - Pythonドキュメントの更新:getMatrix()、Objectクラスのプロパティ、いくつかのサンプル
broken氏 Log: 数値フィールドを[Shift]+クリックの代わりに単にクリックすることにより直接編集できるように。
上記で、数値フィールドの左側をクリックすると減算、右側をクリックすると加算されますが、真ん中もしくはテキスト自身をクリックすると値の編集が直接開始できます。左右へのドラッグなどの他の操作では変更しません。
ton氏 Log: 新機能:color picker!
'COL'ボタン(RGBを表示する物)をクリックすることにより、3つのカラーピッキングフィールドとパレットのあるポップアップメニューがでてきます。 フィールドはHSV立方体で交差する3つの平面で、それぞれのフィールドを切り替えることなく選択できます。
パレットは残念ながら「モーダル(訳注:モードがあること)」で(他にシンプルな方法がみつかりませんでした)、"paste to color"ボタンで、パレット内をクリックすることにより編集する色にコピーするモードに、"copy to palette"で現在の色がパレットにコピーされます…
Todo: - パレットをファイルに保存 - [ESC]による変更なしのキャンセル…
jesterking氏 Log: * displacement、translucency、raymirrorのIPOの追加 * IPOの#defineのクリーンナップ
ton氏 Log: ちらつきを防ぐために、pickerの再描画を背景を含まないように変更。
Log: - color pickerの選択カーソルがColorプレーンの外側にはみださないようクリッピング。 - glutil.cのWarningを削除、circleXORコールをshortの代わりにfloatに。 - 小さくズームアウトしたときの、ポップアップメニューのボタンの文字列の描画のエラーを修正。
Log: [F10]のポップアップメニューのクリーンナップ(Edge SettingとFrameメニュー)。
Log: 数値ボタンのコードを処理途中でなく、関数の最後まで出る条件を満たすまで帰さないよう修正。 (returnは数値ボタンをテキストボタンの真ん中をクリックにするためのパッチに追加しました)
Log: Pickerを若干大きくし、混乱する"copy to"と"paste from"ボタンを削除しました。
現在はパレットのクリックがデフォルト―アクティブのcolorの更新になりました。 もしパレットに入れたい場合、[Ctrl]+クリックして下さい。
これはまだ最適解ではないですが、少なくともマシになりました。
Log: Color pickerその2:Gimpのような、ひとつのSとVの大きなフィールドとHのスライダ。
以前のpickerはまだコードにあります…実験中なのです。
Log: Color pickerの修正。 - パレットのクリックではボタンの値は更新されませんでした。 - 最下部の'palette'ボタンには古いcolorを入れるように。 - H値は黒にも白にも全方向にスクロールします。
まだやるべきこと: - ファイルへの保存(ところで、デフォルトカラーを私の好みに変更しました)
Log: - VertexPaint/FaceSelectModeと他のPaintモード時のアウトライン描画を削除。 - Color pickerのTooltip描画の修正。
guitargeek氏 Log: これはsirdude氏作のSequenceプラグインがオリジナルである、goofster氏がcommitされたsweepエフェクト改造の、最初のcommitです。
オリジナルからの変更は、ワイプの幅と回転の効果が選択できる、ブラーのかかったエッジを追加できる能力です。
すでに入っているSweepタイプは以下のとおり。 -single -double -iris
以下はコーディングが必要です。 -box -cross -clock
jesterking氏 Log: * MaterialとWorldのIpoviewの虹色表示のバグを修正。 * 32チャネルの限界を削除(現在は50ですが、ご存知のとおり、999にすることもできます。) * 新しいIPO: Mirror fresnelとfac、Transparency fresnelとfac、TransparentなMaterialのglowファクター(TraGlo。加算)
ton氏 Log: 今回は本当に大物です…。
MeshのEdges (訳注:従来のEdge(辺)とはまた別物のよう(ニュアンス的には「Edgeグループ」)なので、とりあえず"Edges"と、"s"をつけて表現していますが、紛らわしいので以降に変更されるかもしれません)
- Creasesを使用時、自動的に追加されます。他のシチュエーションでは、mesh.cのvoid make_edges(Mesh *me)が呼ばれたときです。もちろん一度EditModeに入れば、Edgesが自動的に再生成されます。 - [F9]のEditButtonsでもEdgesを追加・削除可能です。(訳注:VertColの上。感覚的にはVertexColorや、TexFace、Stickyと同じような物と考えた方がいいです) - Meshと表示Meshの両方に対応しているため、実際にワイヤフレームの描画のスピードが上がります。 - Edges自体のレンダリングはできません…。EdgesはMaterialもtfaceもcolも持たないからです…よって現時点ではまだそのFaceはWireモードでレンダリングされます。
SubSurfのCreases - Chris McFarlen氏のコードを元にしています。 - 大きな変更点はEdgesを使用していることで、実際にファイルにデータが保存されます。 - 使用はEditMode中に[Shift]+[E]でEdgesの鋭さを設定します。値は0.0-1.0です。 - [F9]のEditButtonsの[Draw Crease]で描画モードを設定できます。描画はWireカラーからEdge Selectedカラー(Themaによる)へのブレンドになりました。
判明している問題:鋭さを設定した一つのCube(Subdiv:2)がいくつかの値で妙な結果になることがあります…Chris、チェックできますか?(訳注:subdiv:1でもおかしいですね)
さらに、コードのクリーンナップ、必要があれば0をNULLに変更、Warningをなしに、etc...
Log: 最後のcommitの修正。[Shift]+[E]中のエスケープが動作していませんでした。一つのVertexが選択される現象を起こしていました。
Log: 新しいMesh Edgesの管理に関する二つの小さな修正。新しく作成(追加)されたMeshを他のMeshにJoinするとクラッシュするのを解決しました。
Log: Color Pickerで値を入力時に、but->func()の使用法をごっちゃにしていました…これが元で値が確定後に奇妙な値になっていました。今はちゃんと解決済です。
theeth氏 Log: ForceFieldの修正。フレーム毎にこれが与えている効果として、加速度の半分を速度で与える必要がありました。 EffectorのGUIをクリーンナップ、パネルとボタンを広くしました。ボタンの表記をより順応させました。 Particle用にVortexFieldを追加。ParticleはObjectのZ軸を中心に旋回します。若干改造的で、もっとよくすることもできたでしょう。
Log: ObjectModeでミラーリングを行った際のMetaBallの更新のバグを修正。
Log: 二つのParticle Effectorのループを一つにまとめました。最初に私が二つも行うのは少しおろかなことだと思いましたが、最初に心に浮かんだのはこれでした。 現在は修正済で、計算も早くなっています。
Log: EffectorのStrengthを正の値の場合と同じぐらい、負の値も大きくしました。
larstiq氏 Log: - FTGLのバージョンを2.0.9に変更(headerに小さい変更があり、blenderでの使用方法では動作します) - プリコンパイル済FTGLライブラリにパッチを適用(恐らく#1290は修正できます)
ton氏 Log: EditMode中、カーソルを普通のマウスポインタにしていたadd_primitiveMesh()の妙な行を修正。 このコードは2.25からありました…。
MeshのUndoにEdgesを追加。 注意:Edgesが作成されるかどうかは、オリジナルのMeshに由来し、モデリング中はobedit->dataにはまだ存在しています。
larstiq氏 Log: インストレーションポリシーにより近づいた実装になりました。 < http://www.blender3d.org/cms/Installation_Policy.352.0.html >
- これらの範囲中では、'ERROR: File ".Blanguages" not found'は二度と表示されなくなるでしょう(#745#のような、Trackerにあるすべてのこの類のバグはすでにcloseされています)。
そしてintrr、もし行うなら、'cp -a .blender "' をすでにおこなっています。
もちろん、すべてのファイル位置毎(.Blanguages、.bfront.ttf)にこの問題を修正すべきではないでしょうが、代わりに.blenderディレクトリの位置を返すことはできます。.blender検索ロジックをいたるところに複製して下さい。(はぁ)
(jesterKinky) そう言っていたんだ。さしあたり、これのおかげで続けることができる。そしてその後の段階でこの大きなの努力によってすべてを修正するよ。
(jesterKinky) そして、君がpolicy URLでコードを示しているから、僕達はクリーニングする際、どう行うことになっているかがわかる。
(LarstiQ) jesterKinky: そう、私がいいたかったのは 「だー! これが私が根本的な問題を修正しない最後の時だぞ」と。
(LarstiQ) 君達怠慢なプログラマはすべて私の元にある。 (訳注:原文"all your lazy coders are belong to me"。元ネタは"All your base are belong to us"?)
(jesterKinky) じゃあ、僕達の外見のバグ修正をしてくれ。
ton氏 Log: ColorPickerのパネルへの追加。 - 3DWindowのTransform propertiesパネル(Vertex/Texture PaintがONになっている間)。 - UVWindowのPaintパネル。
注意:両方とも同じGVP構造体を現在のカラーを保存するのに使用しています。また、その関数のPickerへの追加はまだ完全ではありません…より熟慮する必要があるように思います。これを他所の場所へ置きたい場合は相談してください。
Log: Blenderがどのプレビューを更新すべきかを判定する機能の、小さな改良。 複数のButtonsWindowを開くことができるようになり、例えば、一つは大きなMaterialプレビューだけにしても、更新が正しくおこなわれます。ButtonsWindowをスクロールしている間、プレビュー表示はそのままにしながら、設定するのにいいでしょう。
Log: Todoリストに長らくあったもの:動作する環境のpointsizeが1より大きくないため、頂点もそのサイズで描画されてしまうことへのパッチ。
これはごく小さな困惑とともにパッチコードによって解決されました。よって自動的にパッチをあてられたglPointsを下記により得ることができます。
bglBegin(GL_POINTS); bglVertex3fv(vector); bglEnd();
このラッパーは glutil.c にあります。最大のPointsizeをチェックし、その後それをglBitmapに通します。
Log: おおっと!Picker Buttonsの返り値をB_NOPに変更したためにポップアップが閉じていました。変更により、ポップアップのPickerの返り値が0に設定されました。
Log: - Particle反射(衝突)のシンプルな最適化。変換(頂点座標→ワールド座標)のキャッシュをするようなり、#define vecaddとvecsubの使用と、四角形との交差判定がより能率的になります。 結果、約2回分は早くなりました。
- Forcefieldとして使用されるEmptyのDrawモードの追加。
- #define VECADDとVECSUBの追加。
aphex氏 Log: - Win32におけるHOME変数の検索順序を変更。順序は現在下記URL先のようになりました。 http://www.blender3d.org/cms/Installation_Policy.352.0.html
まだしなければいけないこと: NSISインストーラスクリプトの、この変更に伴う更新。
eeshlo氏 Log: Orthoカメラのサポート(CVSのYafRayに必要)。 XMLエクスポートを使用時、YafRayはAlphaチャネルをBlenderで'RGBA'ボタンを設定した際にレンダリングできるようになりました(Pluginは自動的に行います)。 Pluginコード中のMesh以外のObjectのSmoothシェーディングのバグを修正。 テクスチャの相対パスが考慮されるように(plugin&XML)。 Duplicate Objectの問題を修正(plugin&XML)。 本当に古いバグ、Sunの位置が修正されました(plugin&XML)。 Worldのbackgroundもまた、従来のテクスチャ画像(jpeg、tga)にすることができますが、常に球状マッピングと仮定するようになったため、Blenderとは同じにはなりません。YafRayではTexureは完全な360度(パノラマタイプ)マップと仮定します。 convertBlenderScene.cをクリーンナップ、変換識別子'hack'は削除されました。 これはRENDERDATA出力に依存するすべての外部レンダラ(Aqsisその他)に影響し、頂点とLamp位置・ベクトルはWorld座標による変換に戻す必要があります。YafRay Plugin・Exportのコードを見てください。
guitargeek氏 Log: このcommitはclock wipe効果(時計が回るようにワイプアウト)をSequence EditorのSweepメニューに追加します。
blendix氏 Log: SuperLU 3.0を追加。 http://crd.lbl.gov/~xiaoye/SuperLU/
これは疎行列式(A*x=Bのタイプ)を解くためのライブラリです。大きな式を非常に高速に解きます。ライブラリで必要な部品だけがファイルサイズと編集時間の都合で含まれています。これはサンプルファイル、Fortranインタフェイス、テストファイル、matlibインタフェイス、cblasライブラリ、複素数パート、ビルドシステムが省かれていることを意味します。すべての(gccの)Warningも修正されています。
このライブラリはLSCM UV展開で使用する予定です。このライブラリにより、LSCM展開は一瞬で計算され、展開プロセスがよりインタラクティブになります。
OpenNL(Open Numerical Libary)の追加。 http://www.loria.fr/~levy/OpenNL/
OpenNLは疎行列線形システムを簡単に構築・解決するライブラリです。私たちは裸のバージョンをSuperLUのインタフェイスとして使用します。
このライブラリはBruno Levy氏が親切にも使用のために提供して下さいました。 *****
Log: LSCM UV展開の追加 http://www.loria.fr/~levy/Galleries/LSCM/index.html http://www.loria.fr/~levy/Papers/2002/s2002_lscm.pdf
Least Squares Conformal Maps(最小二乗法による等角マップ)パラメータ化の実装。下記論文の第二章を元にしています。 Bruno Levy, Sylvain Petitjean, Nicolas Ray, Jerome Maillot. Least Squares Conformal Maps for Automatic Texture Atlas Generation. In Siggraph 2002, July 2002.
Seam: 新しい構造体MEdgeにフラグ(ME_SEAM)として格納され、これらSeamsはLSCM展開の実行時に切り取られるMeshの場所を定義しています。SeamはEditModeでマーキングと削除を行います。[Ctrl]+[E]でポップアップメニューが出現、選択されたEdgeをClearもしくはMarkすることができます。
FaceSelectModeでのSelect LinkedはSeamによって分割された面がない場合、つながっているFaceのみが選択されるようになりました。よってもしSeamが設定された場合、Seamによって設定された「Faceグループ」が選択されます。ホットキーは[L]キーです。
LSCM Unwrap:等角マッピング(ローカルな角度の保存)の計算によりUV展開をします。Seamを元に、選択されたFaceが「カット」されます。もし複数の「Faceグループ」が選択された場合、これらは分割して展開され、UV Editorの画像の矩形につめこまれます。つめこみはシンプルかつ高速な、重なるFaceをよけるだけの設計をされたアルゴリズムを使用しています。
LSCMはUnwrapメニュー([U]キー)と、UV Calculationパネルにあります。
Pinning: UVはUV Editorでピン止めすることができます。LSCM展開が実行された後、それらのUVはピン止めした場所にとどまり、調整することができます。 [P]キーまたは[Alt]+[P]キーでそれぞれ選択されたUVのピン止めと解除をします。
FaceSelectModeの描画の変更: - Draw SeamsオプションでSeam描画のON・OFFができます。 - Draw Facesオプションで選択されたFaceを半透明の紫で描画できます。 - Draw Hidden Edgesオプションでhidden Faceを描画します。 - Draw Edgesオプションで可視FaceのEdgeを描画します。
Seam、Face、Edgeの色はThemeで変更できます。
|
|