トップQs
タイムライン
チャット
視点

Blender

無料のオープンソース3Dコンピュータグラフィックスソフトウェア ウィキペディアから

Blender
Remove ads

Blender(ブレンダー)はオープンソースの統合型3DCG製作2Dアニメーション製作VFX向けデジタル合成動画編集ソフトウェアである。

概要 開発元, 初版 ...

Blenderにはそれぞれの用途に特化したファイルテンプレートが用意されており、3DCG[注 2]では3Dモデリング、モーショングラフィックス、アニメーション、シミュレーション、レンダリング、ポストエフェクト(コンポジット内)などの、2Dアニメーション[注 3]ではベクターペイント中割り[4]や撮影処理などの、VFX向けデジタル合成[注 4]ではキーイングロトスコープ(マスキング画面)やマッチムーブなどの、動画編集[注 5]ではプロキシ編集などの作業が可能となっている。

Remove ads

特徴

要約
視点

Blenderは一般的な3DCGソフトウェアと比較すると軽量かつ多機能ながらライセンス料が無料なことから、アマチュア層にも普及している[5]

操作面ではバージョン2.7x系までは「オブジェクト(個々の3Dモデル)は右クリックで選択」が基本という、他の大半のソフトウェアと異なる点が特徴の一つであったが、バージョン2.8x以降は「左クリックで選択・右クリックでサブメニュー」という、一般的なソフトウェアの操作が標準になっている[注 6]

コラボレーション

元々ネットワークドライブを使ったファイルの共有は可能となっていた(例えばWindows版ではUNCパス(「\\コンピュータ名\共有フォルダ名」)に対応[6])。

その後、3.0でアセットブラウザ機能が搭載されアセットの共有が容易となり[7]、3.1でアセットの索引付けが行われるようになってアセット一覧の読み込みが高速化された[8][9]

また、マルチユーザー同時操作が可能な外部アドオンのUbisoft Mixerアドオン[10][11]やMulti-userアドオンなども存在している。

対応ハードウェア及び推奨環境

BlenderはWindows(バージョン8.1、10、11)、macOS(11.2以上)、Linux (glibc 2.28以上) など複数のOS環境上で動作する (クロスプラットフォーム)[12]。ダウンロード可能なバイナリにはポータブル版 (Windowsでは.zip、Linuxでは.tar.xz) 、インストーラー版、各ストア版(Microsoft Store/Snap Store/Steam)が用意されている。

Blenderはグラフィック向けワークステーションが必要なプロ向けソフトと比較すると負荷が低いため、一般向けのPCにビデオカードを追加する程度で始めることができる。動作には10年未満の新しいハードウェアが推奨されている (下記の最小動作環境参照)[12]グラフィックカードについてはプロ向けの3DCGソフトウェアで推奨されるNVIDIA Quadroより、ゲーム向けであるNVIDIA GeForceの方が、世代は最新よりも1世代前の方がレンダリングが速いという結果もある[13]

BlenderのUIは3ボタンマウス及びペンタブレットに最適化されている。2ボタンマウスやトラックパッドでは内蔵の3ボタンエミュレーション機能を使う必要がある[14][15]。またBlenderは3Dマウス (NDOFデバイス) にも対応している[15]

さらに見る 部品, 最小動作環境 ...

VR

Thumb
VR Oculus Tram Station

2.83以降にはVR表示に対応するVR Scene Inspectionアドオンが搭載されている[16]。この機能にはOpenXR対応のヘッドマウントディスプレイ (HMD) デバイス (OpenXR#対応ハードウェア参照) が必要となる[17]

3.0以降は入力デバイスによるナビゲーションにも対応したものの、2021年12月現在、オブジェクト操作にはxr-controller-supportブランチが必要となる。

アドオン / テーマ / エクステンション

概要 URL, 設立 ...

Blenderに機能を追加するパッケージは「アドオン」と呼ばれており、UIの配色などを追加するパッケージは「テーマ」と呼ばれている。またアドオンやテーマは併せて「エクステンション」(拡張)と呼ばれている[18]

Blender 4.1以前は多くの公式アドオンや公式テーマがBlender本体に付属していたが、Blender 4.2以降はアドオンやテーマをオンラインで提供するための公式レポジトリ「Blender Extensions」が用意され、そちらでの提供が中心となっている。Blender ExtensionsはBlenderの設定からもアクセス可能。

また公式レポジトリに無いオープンソースのアドオンや有料アドオンなども存在している。

スタジオにおける導入状況

3DCG業界やアニメ業界ではMaya3ds Maxなどプロ向けのソフトが標準となっているが[19]、近年では機能が強化されたことで利用する動きもある[20]

  • アニメ制作会社・カラーと、その子会社であるプロジェクトスタジオQは、従来使用してきた3ds MaxからBlenderへの移行を進めており、2021年7月に公開終了(終映)した『シン・エヴァンゲリオン劇場版:||』においてもBlenderの「実地検証」を実施している[21]。また、両社はBlender財団への賛同と開発資金の提供を発表した[22][23]
  • 2018年公開のネクスト ロボではBlenderが全面的に使用された[24][25]
  • Goodbye Kansa Studioは、Unity の Adam デモ、Walking dead season 8などでblenderを採用した[26]
  • Ubisoft Animation Studio は2020年より社内の3Dソフトウェアを全面的にblenderに移行することを表明した[27]
Remove ads

機能

要約
視点

下書き、ストーリーボード及び手描きアニメーション

Thumb
Grease pencilの例。キャラクターはGrease pencilオブジェクトと板ポリゴン、自転車は3Dモデルで作成されている。

Blenderは2D/3Dベクターペイント及びアニメーションのためのGrease Pencil(グリースペンシル)機能を有している。この機能は直接3D空間内に手描きすることが出来、それに対し3D空間での移動・変形やライティング等を含めた撮影が可能となっている[28]。この機能は3Dモデリングのための下書き、ストーリーボード[29][30]手描きアニメーションなどに利用できる。またストロークはリギングできるため、カットアウトアニメーションを作ることも可能となっている[31]

2Dアニメーションに向けて、2D Animationテンプレートが付属している。またボックス変形、キャンバス回転、ブラシパックのインポートなどに対応するGrease Pencil Toolsアドオンも用意されている。またストーリーボードの作成用のStorypencilアドオンや外部アドオンのUbisoft Shot Manager[32]もある。

画像入力・画像トレス・ライン抽出

BlenderはPNG形式などのラスタ画像(ビットマップ画像)の入力に対応しており[33]、Grease Pencilはそのラスタ画像をベクター化する画像トレス機能を有している[34]Potrace英語版ベース)。ただし可能なのはアウトライン(輪郭線)化のみであり、線画トレスで使われるセンターライン(中心線)のベクトル化には未対応となっている。

また、2.93以降のGrease Pencilはベクター画像SVG形式の入力や、3Dからのライン抽出(LineArt機能)にも対応している。3.3以降はLineArt機能が影のラインにも対応している。

作画・彩色

ベクタ自体の生成はドローモードで、生成後の編集はエディットモード・スカルプトモードでおこなわれる[35]。2Dレイヤー機能を持っており、下描きレイヤーで下描きした後、線画レイヤーで線画作業することも可能となっている。

Grease Pencilマテリアルはストローク(線)とフィル(面)にテクスチャを指定することができ、それによってアナログ画材風にすることができる。またストロークとフィルの色は単一色だけでなく頂点カラーで指定することもできる。頂点カラーで指定する場合はシーン内に大量のマテリアルを作成する必要性が低くなる。

動画・撮影

Grease Pencilは前後の参照フレームを表示するためのOnion Skinning機能を有している。また、フレーム補間(interpolation)機能も有しており、セルアニメにおける中割り(動画工程)を自動で行うことが可能となっている[4]

Grease Pencil オブジェクトはメッシュやライトなどのように単独のオブジェクトであるため、3D空間に配置され移動や撮影が可能である。また視覚エフェクト(Visual Effect)機能も有しており、透過光(グロー)などの撮影処理がリアルタイムに可能となっている。

ベクター出力

Blender 2.93以降のGrease Pencilはベクター画像のSVG形式およびPDF形式での出力に対応している。出力した画像または動画はAcrobat ReaderInkscapeKritaAdobe IllustratorPhotoshopToon Boom Harmonyなど様々なソフトウェアで取り扱うことが可能となっている[36]

モデリング

Blenderは3Dモデリング機能を提供している。様々な形状表現をサポートしており(⇒#形状表現)、それぞれに対応した高機能のウィジェット(モード)が提供されている。

さらに見る 名称, 効果 ...

形状表現

Blenderは以下の形状(ジオメトリ)表現をサポートしている[37]

Curves でベジェ曲線NURBSをサポートしている[38]Surfaces ではNURBSのみをサポートしている[39]

スカルプトツール

スカルプトモードが搭載されており、形状をスカルプトして有機的な形状を作成できる。タブレット入力に対応しており、筆圧に応じたスカルプトが可能となる(傾きには未対応)。スカルプトモデリング用のテンプレートも搭載されている。

直感的に布の物理演算を行うことができるSculpt Cloth機能もある[17]。2.91でプラスチックのような可塑性に対応した。

リトポロジ

スカルプトしたジオメトリをアニメーションで使いやすくするリトポロジでは、手動リトポロジに必要なメッシュ編集機能(ポリビルドなど)とオートリトポロジ機能が搭載されている。

高度な手動リトポロジにはRetopoflowアドオンなどが必要となる。2022年現在、Blenderでは専用のリトポロジモードが開発中となっている (D14035)。

プロシージャルモデリング

Blenderはモディファイア機能によりプロシージャルモデリングに対応している。

モディファイア: modifiers)はオブジェクトのジオメトリに対する変形指令である。モディファイアをオブジェクトに付与することで非破壊的にオブジェクトを変形できる、すなわち元オブジェクトのデータを保持したまま見た目を変えられる[40]。1つのモディファイアはジオメトリを受取り変形し出力するため、複数のモディファイアを直列に繋ぐことができる。このモディファイアのセットはモディファイアスタック: modifier stack)と呼ばれる[41]

Blenderはビルトインで様々なモディファイアを定義している。その中の一つ Geometry Nodes モディファイアはノードベースのプロシージャルモデリングを行うことが可能である。プロシージャルモデリングに特化したGeometry Nodesワークスペースが搭載されており、SpreadsheetによるGeometry Nodesのデバッグが可能となっている。またGeometry Nodesによる破壊的な編集ツールの作成も可能となっている (Node-based Tools)。

外部アドオンにはノードベースでプロシージャルモデリング/アニメーションが可能なSverchokアドオン、Sorcarアドオン、Animation Nodesアドオンもある。

ヘアツール

Thumb
blenderのヘアーツール

3.3以降、ヘアはCurvesオブジェクトとして実装されている。Curvesオブジェクトは編集モード及びスカルプトモードによって破壊編集が、Geometry Nodesによって非破壊編集が可能となっている。3.5以降はヘア向けに様々なノードアセットが付属している。

また旧来のヘアパーティクルも実装されており、そちらはパーティクルシステムモディファイアの入ったオブジェクトのパーティクル編集モードによって編集が可能となっている。

ヘアのリアルタイムレンダリング(ビューポート表示)にも対応しているが、リアルタイムのEEVEEはまだヘアシェーダ未対応となっている[42]

UV展開・編集

Thumb
UDIMを使用したモンスター。4Kの法線マップを5枚使用している。

UV編集では自動展開、ライブ展開、UVスカルプトなどに対応している。また単一UVマップだけでなく、マルチタイルUVマップ(UDIM)の編集にも対応している。3.3以降はGeometry NodesからもUV展開が可能となっている (UV Unwrap Node)[43]

UVの機能を強化するアドオンのMagic UVが用意されている。

シェーディング及びルックデブ

リアルタイムレンダラーのEEVEEやインタラクティブレンダリング可能なパストレースレンダラーのCyclesが搭載されており高速なルックデブが可能となっている。

シェーダーでは各種物理ベースシェーダーのほか、ノードベースでのシェーダー作成や、Open Shading Languageによるテキストベースのシェーダー作成も可能となっている。

テクスチャリング及び3Dペインティング

基本的な3Dペイント機能が搭載されているほか、レイヤーペイントにはUcupaintアドオンが存在する。

2022年現在、高度なテクスチャリング機能の開発が計画されている[44]

3Dレイアウト及び入出力

Blender には独自のファイルブラウザ及び各種インポーター/エクスポーターが搭載されている。Blender 3.0以降はアセットシステム及びアセットブラウザも搭載されている。アセットブラウザではアセットのドラッグ&ドロップが可能。

ネイティブ形式の入出力

概要 拡張子, 開発者 ...

Blenderのネイティブ形式は独自の .blend 形式となっている。.blend 形式ではバージョンによって細かな仕様が異なっているものの、変換などによりなるべくバージョン間の互換性が確保されるようになっている。3.0で標準圧縮方式がgzipからZstandard(Zstd)へと変更され、それ以前のBlenderとの後方互換にはファイルの解凍が必要となった[45]

.blend 形式にはUIの状態、各種データブロック(シーンやオブジェクトやマテリアルなど)、埋め込みファイル(テキストやテクスチャなど)の情報を含んでいる。また3.0以降は任意のデータブロックをアセット化して説明やタグ付けすることが可能となっている。なお.blend 形式では単独シーンだけでなく複数のシーンを含むことができる。

Blenderでは外部 .blend ファイルに含まれている任意のデータブロックを個別に追加またはリンクすることが可能となっている。ライブラリオーバーライドにも対応しており[46]、リンクしたデータブロックの任意のパラメータの上書きが可能となっている。

非ネイティブ形式の入出力

ファイルのインポート及びエクスポートではオートデスクFBX形式、クロノス・グループCOLLADA (.dae) 形式およびglTF形式(4.1以降gltfpackによる後処理に対応)、PixarのUniversal Scene Description (USD) 形式などの代表的な3Dシーン及びモデル形式、OBJ形式STL形式PLY形式などの昔ながらの3Dオブジェクト形式、ジオメトリキャッシュのAlembic形式(.abc)の読み込み及び書き出しが可能となっている。一部の形式はPythonで実装されているため低速となっており、高速化のためにネイティブでの再実装が進行中となっている[注 7]。また一部の形式では複数ファイルの同時インポートにも対応している[注 8]。4.2以降はコレクション単位でのエクスポートにも対応した。4.3以降はGeometry Nodesのノードによるインポートにも対応する予定。

CADファイルのインポートではDXF形式を入出力するためのAutoCAD DXFアドオンが、化学ファイル形式英語版のインポートではPDB形式英語版及びXYZ形式英語版を読み込むためのAtomic Blenderアドオンが用意されている。

建物情報モデル (BIM)で使われるIFC形式の入出力ではBonsaiアドオン(旧BlenderBIM)が用意されている。また外部アドオンでは地理情報システム(GIS)で使われるGeoTIFF形式などを読み込むためのBlenderGISアドオン、写真測量で使われる形式を読み込むためのblender-photogrammetryアドオン[48]やBlender-Addon-Photogrammetry-Importerアドオン[49]もある。

対応するテクスチャ画像形式および動画形式

テクスチャ画像ではOpenEXR形式、DDS形式、Photoshop PSD形式を始めとする様々な画像形式の読み込みに対応している。

また動画や音声ではFFmpegのライブラリを使用しているため、様々なフォーマットやコーデックの動画や音声の読み込みが可能となっている。

スキャッタリング

Blenderではヘアパーティクル機能を使うことでオブジェクトのスキャッタリングが可能となっている[50]。また2.92以降はGeometry Nodesが搭載され、それによってノードベースのオブジェクトのスキャッタリングも可能となった[51]

ライティング

2022年現在ライティングワークスペースは搭載されていないものの、実写合成向けでは階層化可能なオブジェクトのコレクションでレンダリングの制御が可能となっており[注 9]、アウトライナー上で可視性、マスキング(ホールドアウト)、直接光除去(間接光のみ)の制御が可能となっている。

3.2以降、オブジェクトとそれを照らすライトを紐付けるLight Groupsに対応し、4.0以降、Light Linking及びShadow Linkingに対応した。

アニメーション

単純なアニメーション、Python式を使った連動アニメーション (ドライバー[注 10])、スケルタルアニメーション (ボーンアニメーション)などに対応している。

スケルタルアニメーションではフォワード・キネマティクス英語版 (FK・順運動学)、インバース・キネマティクス英語版 (IK・逆運動学)の両方に対応している。IKソルバーにはBlender独自のものとiTaSCベースのもの[52]が搭載されている。ジョイント・コンストレイント英語版を含む様々な拘束が可能。

キネティック・タイポグラフィ

3.0以降、ジオメトリノードに文字列操作ノードや、文字列からカーブへの変換ノードが用意されている。

シミュレーション

Thumb
流体シミュレーション

シミュレーションにはBulletベースの剛体シミュレーション[53]、独自の布・軟体・ヘアシミュレーション、Mantaflowベースの流体シミュレーション (液体・気体)[54]などが搭載されている。

レンダリング

レンダリングエンジンの項で詳述

ポストエフェクト及びコンポジティング

ノードベースのコンポジット機能を搭載しており、様々な画像処理が可能となっている。ディープコンポジティングには対応していないが、Cryptomatteには対応している。GPUでの高速なコンポジットにも対応しており、ビューポートでもコンポジット込みの表示が可能となっている。

また、2D/3Dモーショントラッキング、ロトスコープなどのVFXに必要となる機能及びVFXテンプレートも搭載されている。

スクリプティング及びアドオン作成

Thumb
スクリプトエディター画面

BlenderはPythonスクリプトを使用してエディタやオペレーターを拡張することができる。標準ワークスペースにはPythonスクリプトを編集するためのScriptingワークスペースが用意されている[55]

Scriptingワークスペースには構文強調や閉じ括弧補完(3.1以降)に対応したテキストエディタ、Pythonコンソール、操作ログなどが用意されている。

コードの自動補完には標準で未対応であり、Intellisense for Blender Text Editorアドオンなどを入れる必要がある。

PyCharmEclipse/PyDev英語版などの外部エディタを使ってPythonスクリプトを編集することも可能となっている。この場合、コードの自動補完にはfake-bpy-moduleなどの外部モジュールを使う必要がある[56]。またリモートデバッグにはremote_debugger.pyなどが必要となる[57]

なお、Blenderは7割前後のコードがC言語で書かれており2割前後のコードがC++で書かれている[58]ものの、C言語やC++でアドオンを作成するため機構やSDKは用意されていない。PythonからC/C++で書かれたダイナミックライブラリを呼び出し、as_pointer()メンバ関数で主要構造体のポインターを取得しダイナミックライブラリ側へと渡すことは可能[59]なものの、構造体の定義などは自前で行う必要がある。

動画編集

動画編集用の Video Sequence Editor (VSE) 機能およびVideo Editingテンプレートが搭載されている。プロキシ編集に対応している。また3.0以降はタイムラインの動画サムネイル表示や変形ツールが搭載されている。

動画編集を強化するアドオンのPower Sequencerも用意されている。様々なタイムライン形式を読み込むためにはオープンソースのVSE IOアドオンが必要となる[60]

3Dプリント

3Dプリントに向けて編集モードにメッシュ解析のためのMesh Analysisオーバーレイが搭載されている[61]ほか、クリーンアップ機能を含む3D Print Toolboxアドオンも用意されている[62]。ただし直接3D印刷を行うことは出来ない。

Remove ads

レンダリングエンジン

要約
視点
Thumb
cyclesをビューポートで利用

Workbenchはビューポート向けの作業用レンダラーであり、Eeveeは高度なリアルタイムレンダラーとなっている。CyclesはGPU(及びそれに搭載するレイトレーシングアクセラレータ英語版)対応のパストレーシングレンダラーであり、オフラインレンダリング向けとなっている。これらレンダラーはビューポート上のプレビュー表示でも使うことが出来る。

CyclesとEeveeの間にはレンダリング手法が異なることもあり、マテリアルなどの非互換性が多少存在する[63][42][64]

さらに見る 機能, Workbench ...

なお、過去のレンダラーにはスキャンライン/レイトレーシングハイブリッドレンダラーのBlender Internalが存在した。Blender Internalはバージョン2.8で削除された。

Cycles

Blender 2.61以降に付属しているオープンソースのパストレーシングレンダリングエンジン。3.0でCycles Xが統合され高速化されている。Blender本体から半独立しており、Blender以外のソフトウェアにも使われるようになっている:

レンダリングアルゴリズムは単方向パストレーシングに対応している[注 19]。テクスチャベイクも可能となっている。

GPUレンダリングではCPUメモリの使用英語版が可能であり、速度の低下はあるもののGPUのVRAM容量を越える大きなシーンのレンダリングが可能となっている[70]

レンダーファームを作成することも可能だが、ネットワークレンダリングや分散レンダリング(Distributed Rendering)には標準で未対応となっている。

また実験的機能として適応細分割 (Adaptive subdivision)が存在する[80]

Eevee

リアルタイムPBRレンダラー。バージョン2.8から付属。

Workbench

ビューポート用のレンダリングエンジン

Remove ads

ゲームエンジン (UPBGE)

概要 開発元, 最新版 ...

2.7xまではゲームエンジン機能を内蔵しており、ロジックノードやPythonスクリプトを利用することでインタラクティブなコンテンツを制作することが可能であった。またゲームエンジンを動かしてその動きをキーフレームへと焼き付けることも可能であった(Record Animation機能)。

2.8ではゲームエンジン機能が一旦削除されたものの、外部プロジェクトとして旧来のゲームエンジンを維持した派生版のUPBGEが開発され続けている。UPBGEではEEVEEレンダラーやGPUコンポジットなどの新しいBlenderの機能を使うことが可能となっている。

また、本家でも今後インタラクティブモードが再度追加される予定となっている。

Remove ads

ベンチマーク

概要 開発元, 初版 ...

BlenderのCyclesレンダラー用のベンチマークツールとしてBlender Benchmarkが用意されており、これによりシーンのレンダリングにかかる時間を計測することができる。計測データのアップロードにも対応しており、アップロードされたデータはBlender公式のOpen Dataサイトで閲覧可能となっている[81]

3.0時点でベンチマークに使われる標準シーンは以下の3つとなっている[83]

  • Classroom(教室)
  • Junkshop(ジャンク屋)
  • Monster(モンスター)
Remove ads

Python環境 / API

要約
視点

Blenderには独立したPython環境が搭載されており、Python言語を使用して独自のスクリプトや拡張アドオンを作成することが可能となっている。

BlenderのPython環境には標準で数学モジュールのNumPy[84]/mathutils/bl_mathや、低レイヤーグラフィクスモジュールのgpu/gpu_extras(及び非推奨のbgl)、アプリケーションモジュールのbpyなどが搭載されている[85]。それ以外の拡張モジュールを使うためにはpipなどを使って外部パッケージをBlenderのPython環境にインストールする必要がある。

BlenderのPython APIではアプリケーション情報にbpy.app経由でアクセスする[86]

import bpy
print(bpy.app.version_string) # Blenderのバージョンを表示

開いているファイルの全データにはbpy.data経由でアクセスし、操作中のデータにはbpy.context経由でアクセスする。データの変更はbpy.msgbusで受け取ることが可能。

import bpy
print(bpy.data.objects['Cube'].location) # 'Cube'オブジェクトの位置を表示
print(bpy.context.active_object.rotation_euler) # 選択中のオブジェクトのオイラー角を表示

オペレータの実行はbpy.ops経由で行う。

import bpy
bpy.ops.transform.resize(value=(2, 2, 2)) # 選択中のオブジェクトを二倍に拡大

オペレータは自前で追加することも可能である。

import bpy

class SimpleOperator(bpy.types.Operator):
    """ツール tip"""
    bl_idname = "object.simple_operator" # オペレータ識別子
    bl_label = "Simple Object Operator"  # オペレータ名

    @classmethod
    def poll(cls, context):
        return context.active_object is not None # アクティブオブジェクトがある時のみ有効

    def execute(self, context):
        for ob in context.scene.objects: # 現在のシーンのオブジェクトを辿って
            print(ob)                    # それぞれの情報を表示する
        return {'FINISHED'}

def register():
    bpy.utils.register_class(SimpleOperator) # オペレータクラスを登録

def unregister():
    bpy.utils.unregister_class(SimpleOperator) # オペレータクラスの登録を解除

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.simple_operator()

コマンドラインでの実行

概要 開発元, 初版 ...

Blenderを用いたスクリプトをUI無しで使うことも可能となっている[90]。この場合は以下のコマンドを使う必要がある[90]

blender [ファイル名.blend] --background --python スクリプト名.py

またBlenderのAPIを通常のPython環境で使うための Blender as a Python Module も存在し[91]、pip経由でのインストール(コマンド:pip install bpy)が可能となっている(3.4で公式化)。このモジュールを使う場合は以下のように通常のPythonからの実行が可能となる:

python スクリプト名.py [引数]

一からシーンを構築してレンダリングするスクリプトの例:

import bpy
bpy.ops.wm.read_factory_settings(use_empty=True) # 真っ新な環境にする

bpy.ops.wm.obj_import(filepath="./test.obj") # OBJファイルインポート
bpy.ops.object.light_add(type='POINT', radius=1, location=(0, 0, 2)) # ライト1追加
bpy.ops.object.light_add(type='POINT', radius=1, location=(-2, 0, 0)) # ライト2追加
bpy.ops.object.light_add(type='POINT', radius=1, location=(2, 0, 0)) # ライト3追加
bpy.ops.object.camera_add(location=(0, -10, 0), rotation=(1.6, 0, 0)) # カメラ追加
bpy.context.scene.camera = bpy.context.active_object # シーンカメラ設定

bpy.ops.render.render() # レンダリング
bpy.data.images['Render Result'].save_render("./test.png") # 保存

また、Blenderを使わずにBlender形式の中身を読み取るためのPythonモジュール「Blender Asset Tracer (BAT) 」も存在する。 この BAT は Blender Asset Manager 及び blender-file モジュールの後継に当たる[92]。この BAT も pip からのインストールが可能となっている (pip install blender-asset-tracer)。

Remove ads

バージョン履歴

要約
視点

Blenderはメジャーあるいはマイナーのバージョン更新を年に数回おこなっており、バグ修正が Corrective Release として適宜リリースされている。また約1年ごとに2年サポートのLTS版をリリースしている。以下の表は近年のBlenderのバージョン履歴表である。

凡例
サポート終了
サポート中
現行バージョン
最新プレビュー版
将来のリリース
さらに見る バージョン, リリース日 ...

バージョン2.5系列ではほぼ全機能の近代化改修、ブラッシュアップが行われ、2011年4月に初の安定版2.5.7がリリースされた[93]

バージョン2.6系列では、2.61においてカメラトラッキング等、他のハイエンドツールにも匹敵する機能を追加した

UI

Thumb
2.4x以前のUI

2.4x以前はAmigaの面影を残した略語多用のインターフェースとなっていたが、開発版の2.5xでUIが一新されて近代化されていき、安定版の2.6で一応の完成を見たものの、ショートカット主体の操作などはそのままとなっていた。

その後、2.8でウィジェットやワークスペースが導入されたほか左クリックでの選択が標準となり、2.81で円形メニューが導入された。

内部 / API

Blender 2.10でPython APIが導入され[94]、Blender 2.5xでPython 3系へと移行して新たなPython API「bpy」が導入され[95][96]、Blender 2.62でPython APIの行列が行優先から列優先英語版 へと変更された[97]

2.63でメッシュ構造が多角形ポリゴン (Ngon) に対応するBMeshへと移行された[94]。2.80でほぼ全ての操作が複数オブジェクトの同時編集 (Multi-Object Editing) に対応した[98]。また2.80でリグなどが循環依存しにくくなる再設計された依存グラフが導入され[99]、2.81で汎用的な外部データのオーバーライド編集のためのLibrary Overridesが導入され、3.0でLibrary Overridesがキャラクターアニメーション限定だった旧来のプロキシを完全に置き換えた[46][100]

3.xで内部メッシュ形式が大きく変更され、頂点・エッジ・ポリゴンの各種属性が配列構造体 (Structure of arrays)英語版 形式のジェネリックアトリビュート(Mesh.attributes)へと移された。

レンダラー

Blenderの内部ラスタライズレンダラーはもともとBlender Internalと呼ばれていたが、2.32でそれがオーバーホールされ[94]レイトレーシングにも対応するようになった[101]。また内蔵ビューポートは2.48でGLSLシェーダー用いたレンダリングに対応した[94]

Thumb
レイトレーシング+環境遮蔽 (AO) のレンダラー YafaRay を使ってレンダリングした3DCG画像

また2.32では外部レイトレーシングレンダラーYafRay英語版(後のYafaray)の統合のベータ版が提供され[101]、2.34でそれが安定版となった[94]。その後もBlenderと共に使う外部レンダラーではYafrayが人気となっていた[102]が、Blender 2.61では新たなパストレーシングレンダラーのCyclesが搭載され[94]、Yafrayに代わってCyclesが人気となっていった。

その後、2.79でCyclesに物理ベースシェーダーが導入され[94]、次いで2.80にはリアルタイム物理レンダラーのEEVEE[94]及び作業用ビューポートレンダラーのWorkbenchが導入され、旧来の非物理ベースのBlender Internal及びGLSLビューポートは廃止された。

3.0ではCyclesの次世代版として高速なCyclesXが導入された。4.0ではWorkbenchの次世代版であるWorkbench nextが導入予定となっている。また同4.0ではUSDのHydraレンダーデリゲート経由でのレンダリングに対応し、USDのリアルタイムレンダラーであるHydra Storm用のアドオンも搭載された。

4.2ではEEVEEの次世代版であるEEVEE Nextが導入された。

ゲームエンジン

2004年の2.33より、物理ライブラリのライセンス問題でオープンソース化後に取り外されていたゲームエンジンが再統合された。2.8ではゲームエンジン機能が一旦削除され、その機能は外部プロジェクトのUPBGEが維持することとなった(#ゲームエンジン (UPBGE) 参照)。

国際化と地域化

Blenderでは長らく国際化の不十分な内蔵フォント[注 20]が搭載されていた(外部フォントは使用可能だった)が、2.60以降は非西洋言語にも対応するインターナショナルフォント[注 21]が搭載されている[104]。その後、3.3でフォントフォールバック英語版に対応し[43]、3.4でより包括的なフォント「Noto Sans」が導入された。

また、日本語環境は2.49aより前までは貧弱だったが、2.49bにて2ちゃんねるのBlenderスレッドの有志が制作・配布した詳細な日本語翻訳テーブルが公式採用された事で強化された。その後、バージョン2.5系列で国際化がなくなり日本語環境での使用はできなくなっていたが、GSoC2011にて国際化され、平行して有志により再び日本語対応が行われ、バージョン2.60にて公式に日本語環境が復活した。

翻訳作業は公式が配布するi18nアドオンで行う[105]

Remove ads

歴史

要約
視点
Thumb
Ton Roosendaal 2018 (ZkKPXn6QBx8)

Blenderの前身であるTracesは、オランダのCGスタジオ、NEOGEO社の共同創設者の一人であるトン・ローセンダール (Ton Roosendaal) によって、AmigaOS向けのレイトレーシングレンダラーとして開発され、後にSGI IRIXへと移植された。その後、Tracesのソースコードは書き直されて、Blenderとなった。

1998年、トン・ローセンダールはインハウス・ツールとして使用されてきたBlenderの開発・外販を行う為にNot a Number Technologies (NaN)社を設立した。Windows版も用意され、ラジオシティ機能などを実装した有料版と無料版の二種を展開した。

2001年、NaN社は、Web3Dに向けて、Blender Webプラグインのベータ版をリリースした[106]が、セキュリティの問題から頓挫した。2002年インターネット・バブルの崩壊と共にNaN社は倒産し、Blenderのソースコードは債権者の手に渡ってしまう。しかし開発途上にあったBlenderを手放すことができなかったトン・ローセンダールはBlender Foundationを設立するため、"ソースコード解放"を合言葉に大々的な募金キャンペーンを行い半年で10万ユーロを世界中から集結させ、ソースコードを再びその手に取り戻した。

そして現在までBlenderは、GPLの下にオープンソースウェアとして開発・無償配布されている。ソースコードのコメントがオランダ語で書かれていた上に、プログラム自体が定石から外れた組み方をしていたため、開発を引き次いだ有志は他OSへの移植などで苦戦したという。

2002年5月、Blender Foundationアムステルダムに設立された。

2006年3月、Blender Foundation は最初の映画である、Elephants Dreamを公開した。Elephants Dreamの成功を受け、以降のコンテンツ作成プロジェクトを制作するBlender Instituteが開設された。

2008年、UI一新などを目的とするBlender 2.5の開発が開始された。バージョン2.4系は2009年のBlender2.49をもって開発終了し、2011年に2.5系の初の安定版となるバージョン2.57がリリースされた。

2011年、Blender Foundation は開発基金の Development Fund を立ち上げ[107]、その開発基金は同2011年にコンポジットのOpenCL対応、パーティクルノード、スカルプティングモデリング改善への支援を行った[108](パーティクルノードは2022年現在未マージ)。また2011年には新たにカメラトラッキング機能を搭載したBlender 2.61がリリースされ、翌2012年には Blender Institute が実写合成を用いたオープンVFX映画「Tears of Steel英語版」の制作を行った。

2014年末、Blender Foundation Development Fund 及び Blender Institute は18個の開発プロジェクトを公表し[109]、後のバージョンに搭載されることとなる大きな機能の実装が開始された。

2015年、Blender 2.73 で注釈機能であった Grease Pencil 機能が強化されて2Dアニメーションが可能となり[110]、その後も Grease Pencil V2 が登場するなど2Dアニメーション機能が強化されていった。2018年には Blender Institute がオープン映画として3D技術を用いた 2Dアニメの「HERO」を制作した[111]

一方、2018年6月にはYoutubeによってBlenderの使用方法を解説する動画がブロックされ、広告付きでの公開を要求された。これをBlender Foundationが拒否したところ、次々と他のBlenderチャンネルの動画がブロックされる事態となった。ローセンダールは抗議動画をYoutubeにアップロードし、それまでの動画をBlender cloudに移行することとした。[112]

また、バージョン2.5系は2018年6月リリースの2.79bをもって開発終了とし、2019年7月にリアルタイムレンダラ「Eevee」や物理ベースレンダリング(PBR)などに対応する2.8系の初の安定版となるバージョン2.80がリリースされた。高機能化に伴って企業ユーザーが増加し、特定の版における機能の凍結と長期サポート(Long-term support、LTS)を求める企業ユーザーからの要望により、2.8系は2020年5月リリースの2.83においてLTS版として機能が凍結され、今後の開発はバグの修正のみとなった。新機能の実装はバージョン2.9系としてなされることになり、2020年9月にバージョン2.90がリリースされた。

2.9系では Everything Nodes の嚆矢となるジオメトリノード[51]、リンクしたアセットのオーバーライド編集のためのライブラリオーバーライド、リアルタイムなエッジレンダリング (LineArt) などの機能が搭載された。その後、バージョン2.9系は2021年リリースのバージョン2.93をもって凍結された。

2021年12月にはバージョン3.0がリリースされてアセット管理システムやレンダラーの高速化 (Cycles X)などが搭載された。また2023年リリースの3.5ではリアルタイム3Dのバックエンドとして既存のOpenGL APIに加えてAppleのMetal APIにも対応した[113]。今後はVulkanへの対応も計画されている。

Remove ads

ブレンダー開発基金

Blender財団の主な収入源は寄付であり、一般ユーザーでも6ドルから寄付できる[114]

2019年7月、Unreal Engineの開発元のEpic Gamesが epic mega grant において、120万ドルを支援することを発表した[115]

2020年8月、Unity開発元の Unity Technologiesは、Patronメンバーとして支援を表明した。

2020年11月、Spark ARを擁するFacebookは、Patronメンバーとして基金への参加を表明した[116]

2020年12月、Amazon Web ServicesのThe Creative Team ジェネラルマネージャーであるKyle Rocheは、AWSがPatronメンバーとして今後最低3年間支援していくことを表明した。発表では特にキャラクターアニメーションを強化する前提での支援である旨が強調されている[117][118]

企業メンバーシップ

企業メンバーはblenderチームの戦略会議に出席したり、ロードマップ、優先度の決定に参画することができる[119]

さらに見る メンバーシップ, 費用(ユーロ) ...
さらに見る Patron, Corporate Gold ...

Blender Cloud

概要 URL, タイプ ...

Blender CloudはBlender Institute が運営する有料ウェブサービスである[120]。Blender Cloudアドオンも公開されており、Blender内から機能の一部を利用できる。月額の利用料は9.9ユーロ。

2020年12月から2021年の10月まで継続してBlender Cloudに加入すると、Blender Studioの新作オープンプロジェクトである、Sprite Frightのエンドロールに名前がクレジットされるキャンペーンが行われている[121]

以下のサービスが利用できる

  • トレーニング動画の閲覧
  • オープンプロジェクトの制作風景の映像や資料の閲覧
  • オープンプロジェクトで使用されたアセット、.blendファイルの入手
  • HDR画像、パブリックドメインのテクスチャー素材のダウンロード
  • Private Projects (10GBのストレージ)
  • Blender Sync (Blenderの設定のクラウド上での同期、無料)
  • Attract (映像、ゲーム製作用のプロジェクト管理ソフト)
  • Flamenco (レンダーファームの管理ソフト)
Remove ads

派生版

Bforartists

BforartistsはUIの改良に焦点を当てたBlenderの派生版である[122]。多数のアイコンの追加などが行われている[122]

UPBGE

Goo Engine

非写実的レンダリング (NPR) 向けのフォーク[123]

関連ソフトウェア

要約
視点

Attract

概要 開発元, リポジトリ ...

AttractはWebベースのプロダクション/タスク管理ツールである[124][125]。元々Tears of Steel英語版のために作られ、その後も改良が続いている[125]

Blender Cloudに統合されており、Blender Cloudアドオンから使用することが出来る[126]

Attractを使って作られたムービーには以下がある:

なお Sprite Fright 以降のオープンムービーは Attract の代わりに Kitsu が使われており[128]、その制作で使われた Blender 用アドオンの Blender Kitsu が提供されている[129]

Flamenco

概要 開発元, 最新版 ...

Flamencoは小規模チームに向けたWebベースのレンダーファーム管理ツールである[125][130]。Blender向けのジョブ投入用アドオンも用意されている。

以前は複数拠点レンダリングに対応していた[125]。3.0で1から書き直され[130]、単純化されたためオフラインでも動作するようになった[130]

BEER / Malt

概要 開発元, リポジトリ ...
概要 開発元, 最新評価版 ...

BEER (Blender Extended Expressive Renderer) 及びそのバックエンドの Malt は BNPR(Blender NPRコミュニティ)によって開発されたBlender用の非写実的レンダラーの一つである[131]。Malt はGLSL言語の表現に近いビジュアルプログラミングを採用している。どちらもオープンソースで実装されている。

参考画像

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads