トップ  >  1. Blenderリリースノート翻訳  >  Blender機能別  >  Blender 2.48 リアルタイム GLSL Material
元記事:blender.org - Realtime GLSL Materials


リアルタイム GLSL Material



Apricot オープンゲームプロジェクトのために、ビューポートとゲームエンジンでのより高度な Material 表示が追加されました。Blender のトップヘッダの Game メニューで設定し、Textured draw モードにすることで表示されます。

ゲームエンジンの従来の Texture Face と Use Blender Materials オプションとは違い、このシステムはビューポートとゲームエンジンの Material システムを Blender の内部レンダラの Material システムに肉薄させることが目的です。Material オプションの一部のみのサポートで、うまくいけば将来的にはもっと増えますが、ほぼ同一の結果が得られそうな物がサポートされるでしょう。レイトレーシングなど、いくつかの高度な機能については、グラフィックカードから効果的な支援が得られないうちは追加されないでしょう。




サポートしているグラフィックカード


この実装では OpenGL シェーディング言語(GLSL)を利用しているため、これをサポートしているグラフィックカードとドライバが必要です。ゲームエンジンでもすでに同様の GLSL シェーダをサポートしていましたが、シェーダを自分で書く必要がありました。

下記のカードで大体はサポートしていますが、初期の物は複雑な Material や多数の光源では制約があります。バグの修正とパフォーマンスの向上が期待できる、最新のドライバをインストールしておいて下さい。
[wiki]-ATI Radeon 9x00、Xx00、X1x00、HD2x00、HD3x00シリーズ以降
-NVidia Geforce FX、6x00、7x00、8x00、9x00、GTX 2x0以降[/wiki]
Intel と VIA のグラフィックカード、Xx00シリーズより前の ATI Radeon カード、6x00シリーズより前の NVidia GeForce カードではこの機能は遅いソフトウェアによるエミュレーション以外ではうまく動作しません。
Game メニューでは、ライトや高度なシェーダ、影などを OFF にすることができ、古いグラフィックカードや複雑なシーンで役に立ちます。


サポートしている Material 機能


主にサポートしている機能は以下のとおりです。
[wiki]-すべてのディフューズとスペキュラシェーダ
-ディフューズ・スペキュラ Ramp シェーダ
-ダイナミックノード以外のすべてのノード。Material ノードについては限定的なサポートです。
-いくつかの Image Texture のオプション。
-Texture マッピングオプションの一部。
-Area 以外の Lamp タイプと、基本的なシャドウバッファのサポート。[/wiki]
以下の図では、サポートされている機能が更に詳しく説明されています。黄色の部分がサポート済みで、赤の部分が部分的にサポートされている物です。







ゲームエンジンのサポート


ゲームエンジンでも GLSL Material をサポートしており、同じシェーダを使用しているため、3Dビューでの表示は非常によく似た物になります。ただし、いくつかの制約があります。
[wiki]-現時点では、ほとんどの Material と Lamp 設定はマルチテクスチャ Material のような GLSL Material でのアニメーションはできません。
-すべての Lamp は、すべてのオブジェクトをどんな遠くであっても、違うレイヤであっても計算します。そのため、Lamp 数はできるだけ少なくして下さい。例えば、屋外のシーンでは、二つの Sun もしくは Hemi Lamp でシーン全体を照らすことが可能です。
-ゲームエンジンでの UV レイヤのサポートは最大二つまで、Orco テクスチャ座標の互換性はありません。[/wiki]

Blender の Material システムはオフラインレンダリング用に設計されており、GLSL Material はこの内部レンダラと互換性を保とうとします。これらは最適化されたゲームエンジンの物ほどは速くありません。そのため、Material とライティング設定を最適化することは、パフォーマンスを最適にするために重要ことなのです。
[wiki]-もしいくつかの設定が、0.001や0.98のような値である場合、見た目では0.0や1.0との違いはごくわずかです。しかし、このような値は Blender がシェーダを最適化する時に障害となります。そのため0.0や1.0にすることで、Blender が影響を完全に OFF にし、計算を省略できるよう設定することをお勧めします。
-さまざまな Material シェーダがサポートされていますが、スピードが非常に遅くなることがあります。Lambert と Phong が最速ですので、できればこれらを使用すべきでしょう。スペキュラは CookTorr がデフォルトですが、Phong に切り替えても大半のケースでは大きな違いはないでしょう。
-更に必要なければ、スペキュラを OFF にしてみるといいでしょう。Material の Spec 値を0.0にする以外にも、例えば複数の Lamp 設定の[No Specular]を ON にし、スペキュラに影響する Lamp を一つだけにすることができます。
-α値を持っていない Image があれば、Texture Buttons の[Use Alpha]を OFF にすることができます。
-Texture や Ramp のブレンディングモードによって遅くなることがあります。mix/add/subtract/multiply が最速で、hue/saturation/value/color は非常に遅いです。
-アルファブレンディングはできれば避けるべきでしょう。代替として Clip Alpha が速くていいでしょう。[[ゲームエンジンのアルファブレンディング:http://blender.jp/modules/xfsection/article.php?articleid=258]]に詳しい情報があります。
-影では、シーン全体をベイクし、キャラクタに OnlyShadow の Spot Lamp を使用するのがより効果的です。この Spot Lamp には、シャドウバッファのサイズを低くし、[No Specular]をONに、SpotBlを0.0に設定するのがベストです。更に[Layer]オプションを ON にすることで、そのキャラクタだけに Lamp を照らすことができます。[/wiki]



できれば買って欲しいかも

Apricot オープンゲームプロジェクト


Apricot オープンゲームプロジェクト、"Yo Frankie" に、ゲーム作成とシェーダ編集に行なわれた多くの改良の結果を見ることができます。Apricot project サイトには、非常にたくさんの情報とチュートリアルがあります。

プロジェクトのすべては、Blender e-shop で販売(11月上旬発送予定)されている 8.5GBのDVDにも収録されています。




今までお風呂がでてくるゲームを見たことないのは、カーテンがネックだったからかも

Bathroom GLSL&物理演算デモ


Martins Upitis氏(www.martinsh.co.nr)が、Blender の新しい GLSL と物理演算機能を披露する素晴らしいデモを作成されました。すべての機能をわかりやすく紹介しており、デザイン的にも素晴らしく、見て楽しい物に仕上がっています。実行には最近のパワフルな3Dカードが必要なことに注意して下さい。


Youtube 上のビデオ



Medium quality .mov file, (33 MB rar)

The .blend file and textures (11 MB rar)
(訳注:操作方法についてはこちらの記事を参照して下さい)


元記事:blender.org - Realtime GLSL Materials
プリンタ用画面
友達に伝える
投票数:37 平均点:10.00
前
Blender2.47 ゲームエンジンのアルファブレンディング
カテゴリートップ
Blender機能別
次
Blender 2.48 Sun、Sky、Atmosphere

ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki