Blender Development Digest #5

投稿日時 2005年04月25日 | カテゴリ: Blender.org

元記事:Blender Development Digest #5

LetterRip氏による記事です。
最新のBlenderダイジェストにようこそ。

Blenderランドでは、燃え上がるように早いペースで重要な改良が機能とコードの品質について起こっています。
私たちはまた、リリースまでの間にいつもどおり多くの時間をとっていますが、2.35/2.36の狂ったような作業の後の短い休憩をとるだけでなく、大きな開発プロジェクトに取り組むこともできるのです。現在2.37リリースのターゲットは決定されており、新しいリリースに向かって突き進んでいるのです。最終的な日にちはまだ確認できませんが、恐らくひと月以内でしょう。

私たちは改良を二つの公式のBlenderツリー(リリースが作成される Bf-Blender、そしてメインツリーに移植される前に新しいアイデアやテストが行われる実験的ツリーであるTuhopuu)でみることになります。また、intrr氏が提供する著名な外部ツリー(Instinctive Blender)の簡単な提言や、作成されている大量のスクリプトとプラグインも見ていきましょう。

まずは Bf-Blenderコアから見ていきましょう。

Blender コアの作業

Transform リファクタリング

Martin Poirier (Theeth)氏は Transform コード(Object の移動、サイズ変更、回転などを可能にするコード)のリファクタリング(訳注:コードのクリーニング)を完了しました。ユーザにとって大きな変更は、面制限と、一般的な軸制限の取り扱いの向上、PET(Proportional Editing ―「距離による減衰」による編集)の改良です。このリファクタリングはまた、Ton Roosendaal氏が初心者や他の3Dプログラムから移ってきたユーザがBlenderにもっと親しみやすくなる意味合いを持つ、マニピュレータ(サイズ変更、回転、移動の操作を視覚的に行うスクリーン上のオブジェクト)を追加することが可能になりました。


依存グラフ

JLuc Peuriere(lukep)氏は依存グラフに尽力されています。これはほとんど裏方の作業で、いくつかの仕事を簡単に、そして早くします。特に、Ton氏が計画しているアニメーションシステムのリファクタリングをよりやりやすくする大きな助けとなります。


CCGSubSurf

Daniel Dunbar(zr)氏は Blender の現在の Cat-mul-clark SubSurf コードの代用を作成されました。最も大きな変更点は、オリジナルの SubSurf コードに比べ(そして多くの商用ツールにも比べ)、特に分割数の大きい SubSurf Mesh の編集時にはるかに速くなったことです。氏の作業はまた、モディファイアスタックや、左右対称編集の「先導役」となり、コードと API を単純化しています。


軟体物理演算(SoftBody)

Jens Ole Wund(Bjornmose)氏は Blender 用に、SoftBody(ゼリーや揺れのエフェクト)を実装されました。また、現在この SoftBody のコードは、布のエフェクトや、更に Particle ベースの衝突判定や力場も可能にしています。


Python バインディング

Python API に多くの素晴らしい追加がされており、Joilnen Leite(Pidhash)氏と Johnny Matthews(guitarGeek)氏による、Text3d モジュールの見事な作業により、Python から Text Object のコントロールと作成ができるようになりました。Stephen Swaney(stiv)氏と Johnny Matthews(guitarGeek)氏は insertIpoKey() 関数をいくつかのモジュールに追加され、Johnny Matthews氏が GameEngine の物理演算をアニメーション Ipo に焼き付ける非常にクールなスクリプトを作成することができるようになりました。


ユーザインタフェイス

Matt Ebb(broken)氏は Blender のユーザインタフェイスの改良の作業に力を注がれており、より直感的な Lamp のコントロールと、いくつかの助けとともに、より論理的なグルーピングによるボタンの再構成をされています。また、開始・終了フレームの設定や、フレームの参照用の、先進的な "time line" エディタもあります。

レンダラ

Blender は内部レンダリングを完全な4×32ビット(浮動小数点数)で行うようになり、レンダリング後の更なるポストプロダクションエフェクトのために、このような高いダイナミックレンジを保つことも含まれています。次のステップでは OpenEXR の入出力のサポートが追加されるでしょう。

デュアル CPU システム用に、レンダラはスレッドレンダリングが可能になるよう再コーディングされています。透過面のレンダリングもフィルタリングがサポートされるようになりました。
最後に、Zバッファを元にDOF(被写界深度)効果を行う、"zblur プラグイン" がレンダリングエンジンの一部として統合される予定です。


研究中のもの

以下のコードは Blender の次期リリースではないものです(通常、そのコードがまだ Blender ツリーに入る前の多数の開発、もしくは独立した個人のツリーでの作業である所為で)。しかし、皆さんにとって興味があると思います。

ネイティブ64ビット Blender

多くの OS とハードウェアは64ビットへと移行しているところであり、私たちも64ビットへの完全にネイティブなサポートのため、コードのクリーニングを行っています。幸運なことに、あまり作業は多くなく、Blender はすでに1998-2001年の間に64ビットをサポートしていました。
一番の利点はもちろん、4GBより多くのメモリの参照ができることです!

Half-Edge Mesh

Joe Edgar(Joeedh)氏は Blender 用の新たな Mesh 構造、Half Edge Mesh(HE Mesh)を実装されました。Half Edge はいくつかの Mesh 編集ツールをより簡単に実装できます。Joe氏はまた、モディファイアスタックや、マウスオーバーハイライト、氏の新しい Half Edge 構造とともに働くマクロシステムも実装されています。


MetaMesh

Jiri Hnidek氏は氏の論文の一部として、Blender の MetaBall と、'MetaElem'の機能を改良されています。この改良には、Meta Object の回転機能や、任意の Mesh から Meta Elem への変換があります。


Ocean Simulator

Simon Harvey氏は Blender の波と海のシミュレート能力を大きく向上する作業に取り組まれており、シェーダと Mesh モディファイアツールの両方を実装されています。また、Mesh を操作するための汎用のプラグインインタフェイスも作成されている途中です。


Python スクリプトと Plug-in

次のセクションは Blender の使用方法を向上するために作成されたスクリプトです。


Mesh 用ツール

Tom Musgrove(LetterRip)と Michael Schardt氏 - Sculpt Mesh - Blender を使用し、(粘土のように)Mesh を彫刻することが出来ます。Michael氏はまた、スクリプトでタブレット(Windows用)の使用を可能にするプラグインを開発されました。

paleajed氏 - KnifePro - 現在の Blender の knife ツールを改良するものです。

jms氏 - Mesh Explosion - シンプルな爆発エフェクトを行います。

jms氏 - Tessalate - Mesh を興味深い3Dの彫刻に仕立て上げます。

cambo氏 - Solid Wire - ワイヤフレームをソリッドのワイヤフレーム(訳注:4つの面でできたチューブの集合)Object に変えます。

seredipiti氏 - Geodesic - Geodesic(訳注:多角形の集合体)な構造を生成します。

cambo氏 - UV->Mesh と Mesh->UV - Mesh の UV を編集できる Mesh にします。UV Editor なしで編集可能になります。

Rherman氏 - Photoclinometry - 画像の陰影情報を元に、Meshを作成します。

paleajed氏 - TranspRef - モデリング時に、参照画像用の半透明の板を作成します。

S68氏 - Blender Rope Work - ロープと滑車のアニメーションを可能にします。

SpookyElectric氏 - MegaBool- Blender の今の Boolean ツールを置き換える、改良版 Boolean ツール。
http://astro.scu.edu/~ted/oss/blender/boolean/megabool_r10.py

cambo氏 - AutoEdge - 自動的にFGons(N-Gon のようなもの)を作成すると同時に、鋭角な Edge に Seam をつけます。

syrux氏 - Discombobulator - Object の表面に「ディテール」を付加します。大きな宇宙船のようなものの外見をリアルにするのに便利です。

Jimmy Haze氏 - A.N.T. Landscape - ノイズを使用し、峡谷などをシミュレートした地形を作成するツール。

palejed氏 - EdgeTune - Edge にそって Vertex をスライドことができます。

panzi氏 - TerryNoise - ノイズの発生を通じて Mesh を歪ませます。

neil氏 - Gothic Vaults - 'Gothic Vaults'を作成するスクリプト。


アニメーション

guitargeek氏 - IPOBurner - GameEngine の Objectの動き(物理演算シミュレーションなど)を Blender のアニメーションシステムの Ipo に焼付けます。

jox氏 - Envelope Suite - 左右対称のArmatureや衣服 Mesh を作成したり、作成された衣服 Mesh を元に、VertexGroupsを作成するツール。

lancelot氏 - Camera Calibration - 写真もしくは動かないビデオカメラの3D空間に、カメラを合わせるのに使用されます。

harkyman氏 - BlenderPeople - 乱闘シーンのような、群集を自動的にコントロールするツール。現時点では Bone システムにアクセスできません。


ウィザード

MakeHuman Team - MakeHuman - 人体をパラメータによりモデリングするスクリプト。簡単に使用できるインタフェイスと、高品質のモデルが含まれています。


レンダリングとポストプロセス

MakeHuman Team - Sub Surface Scattering - Makehuman team が作成した、サブサーフェススキャッタリング(SSS)エフェクトを行うスクリプト。

paprmh氏 - ZUtils - 合成に便利なグレイスケール画像を、Scene 内の Object の深度を元に作成します。

S68氏 - Blender Go Cubic - 立方体もしくは筒状のパノラマ用の画像の作成を支援します。

jms氏 - Level of Detail-matic - Camera からの Object の距離を元に、レンダリング時の SubSurf の量を自動的に減らすことができるスクリプト。

flippyneck氏 - G Buffer Extractor - レンダリング画像について、後で合成を行うツールで使用できる深度データなどの情報を作成するツールです。

qwe氏 - Light Saber plugin - スターウォーズに見られるような、ライトサーベルのエフェクトを作成するのに使用されるツール。


インポータとエクスポータ

Brandano氏 - Netimmerse Importer (Morrowind, Freedom Force フォーマット)

hopperrr氏 - YADEMI - Yet Another Digital Elevation Metadata Importer(もう一つのDEMインポータ) - 地形データのインポータ。

Bart氏 - VRML exporter - よくサポートされているインターネットの3Dフォーマットである VRML をエクスポートします。

bob_holcomb氏 - Assorted Import and Export Scripts - インポートとエクスポートを行う色んなスクリプトのつめあわせ。

Skunk氏 - BVH to armature - biovision (bvh)のモーションキャプチャデータをインポートし、Armatureを作成します。
http://members.fortunecity.de/arm
http://www.websamba.com/Armature

jms氏 - Curves Importer - Adobe Illustrator、SVGなどを含む、様々なタイプの曲線を形状もしくはパスとしてインポートできます。
Curves Importer
Curves To Paths Importer
Adobe Illustrator Importer

svenom氏 - Milkshape Exporter - Milkshape modeler フォーマットへエクスポートします。

Christoffer Green氏、Goran Kocov氏、Sutabi氏
- Blenderman Exporter - Renderman フォーマットへエクスポートするスクリプトで、Sutabi氏は Pixie レンダラへのサポートを追加されています。

hobBIT氏 - New Renderman approach - このスクリプトは Renderman フォーマットへエクスポートするものです。

nfz氏 - ATI NMF format exporter - ATI の Normal Map 用のテクスチャ(.nmf)を生成するスクリプト。

rompel氏 - Crystalizer - Crystal Space game engine へのエクスポータ。

reimpell氏 - Ogre 3D Exporter - Ogre 3D game engine へのエクスポータ。


その他

SamAdam氏 - BpyMan Script Repository Package Manager - Blender のスクリプトが自動的に最新バージョンに更新されます(リポジトリの一部のスクリプトのみ動作します)。

raphael氏 - Gimp palettes import - Gimp のパレットのインポータ。

cambo氏 - Blender Interactive Console - インタラクティブな Python プログラミングが Blender で行えます(python コンソールに似ています)。




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

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