Dev:JA/Ref/Release Notes/2.77/More Features
目次
スレッド処理の向上
Blender が(ずーっと以前からの)レンダリングはもちろん、もっと最近の依存グラフや、その他多くのタスクもマルチスレッド(つまり、マルチコア CPU 上で複数のタスクを平行して実行可能)になりました。
これによりある問題が起こります ― 8コアCPUで、8から16のスレッドを実行するのはいいのですが、基本的にこれらスレッドは CPU コアの利用権待ちに多くの時間を浪費し、さらにスレッド管理とコンテクスト切替にかなりの CPU 時間がかかってしまうため、80以上になるとまずいのです…。
爆発的なスレッド数の主な原因は OpenMP の使用によるもので、このライブラリは小規模なコードの実行の並列化を、本当に簡単に行えるのです。そのため(長期に渡って実行し、緊急でない)タスクを決め、これらの OpenMP の使用を対応する私たちのマルチスレッドコードの呼び出しに置き換え、あまり多くのスレッドを実行しないようにしています。
現在、以下の Blender のツール・領域が更新されています。
- モディファイアー:
- Ocean(海洋)、最大22%スピードアップ。rBb36a0c44bb1ca 、rB1eed354e530f3
- UVWarp(UVワープ)、最大12%スピードアップ。rB4d5b7feddea1
- Vertex Weight Proximity(頂点ウェイト近傍)、最大5%スピードアップ。rB95bc8389a983
- ペイント・スカルプト(途中):
- スカルプト・ペイントの全コード。スピードは非常に変化しやすく、知覚できない場合から、ベストで最大20%以上の場合もあり(ストローク処理全体)、いくつかのポストプロセスも若干スピードアップ(法線の更新などでは20%高速化)しています。rB1991ee173865、rB2e77c413ab3cd、rB0b157f7c6cf3b、rBa5c419f4ccb、rB6703d413f9b3、rBb871160ddなど。
- その他:
- 煙シミュレーション、最大5%スピードアップ。rBf30b0c60cffc
- パーティクルの内部コード。rBc1b76285eef7a)
- いくつかの低レベル「ライブラリ」コード、例えばクロスシミュレーション(他の Blender の部分にも影響)で最大2%スピードアップ。rBd08e9883bdfc、rB971f9e1c25dae
コンポジティング
- 2D Stabilization(2Dスタビライゼーション)ノードに Invert(反転)オプションを追加。(ea67f55)
- Mask(マスク)ノードのラベルにマスク名を使用するように。(f1555c8)
- Track Position(トラック位置)ノードの出力としてトラックの速度を公開するように(速度はピクセル毎フレーム)。(2339a84)
- ブラー時に画像境界を延長するオプションを追加。(cc55f97)
Image Editor(UV/画像エディター)
- RGBチャンネルを個別に表示できるように。(43bf78c)
その他
- 翻訳 UI 使用時に翻訳されたマニュアルへの「リダイレクト」の修正、再度使用可能に。(rBA9a875bfb2693)
- オブジェクトグループのコピー・ペーストに対応。(90250f8)
- トランスフォーム:バーチャルカーソル位置の格納に対応。
(回転モードに合わせ)Grab(移動)で[Shift]キーを離しても「ジャンプ」しないように。(e6abc3a)
- Blender Internal(Blender 内部):サブフレームレンダリングに対応。63de1e7
OpenVDB キャッシング
煙シミュレーションが OpenVDB をバックエンドとして使用しキャッシュできるように。(rBe9452f909cdb) シミュレーションフィールドは以下の名前の下の .vdb ファイルにあります。
- "color"
- "density"
- "heat"
- "heat old"(前フレームでの温度)
- "flame"
- "fuel"
- "react"(リアクション座標、炎で使用)
- "velocity"
- "shadow"(ビューポートレンダリング用に計算されたボリュームの影)
- "texture coordinates"(Turbulence(乱流)で使用)
注意:
- フィールドの存在はシミュレーション設定に依存します。例えば"texture coordinates" は High Resolution(高解像度)有効時のみ書き込みされます。
- High Resolution(高解像度)有効時、低解像度に関連するフィールドには " low" の接尾辞が付きます。
Vector Transform(ベクトル変換)ノードがビューと Blender 内部レンダーに対応
Blender 内部レンダーでの Cubemap world テクスチャ
キューブマップの World(ワールド)テクスチャが Blender Internal エンジンビューポートで対応されました。(rB771f73b6bedb)
注意:
- Image(画像)タイプを Environment Map(環境マップ)にする必要があります。
- 環境テクスチャのフォーマットは、Blender が作成した環境テクスチャのフォーマットです。
- 'World Background(ワールド背景)' 表示オプションをONにします。
- ▼Influence(影響)の 'Horizon(水平)' をONにします。
ビューとゲームエンジンでのキューブマップ反射
キューブマップ反射がビューポートとゲームエンジンで対応されました。(d80f8ba)
注意:
- Image(画像)タイプを Environment Map(環境マップ)にする必要があります。
- マッピングの Coodinates(座標)は "Reflection"(反射)に設定する必要があります。
- 環境テクスチャのフォーマットは、Blender が作成した環境テクスチャのフォーマットです。
- 環境テクスチャ用の Geometry(ジオメトリ)オプションは利用できませんが、反射はノーマルマップテクスチャでデフォーム可能です。
- 反射のデフォームはテクスチャスタックの順番に依存します(ノーマルマップは環境テクスチャの下に入れる必要があります)。
矩形と楕円のスポットライト(ビュー&BGE)
スポットライトが単一または複数の軸でスケーリングできるようになりました。これは円と矩形のスポットライトの両方で働きます。(e60d535) 現在のオブジェクトをスケーリングする Python API が使用可能です。
Text(テキスト)オブジェクトのネイティブクリップボード統合
Text(テキスト)オブジェクトのコピー/ペースト機能がシステムのクリップボードと統合しました。テキストのペースト時、Blender からコピーしたように、スタイル(ボールドなど)が維持されます。(a143aeae)