トップ  >  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
プリンタ用画面
友達に伝える
投票数:23 平均点:10.00
前
Blender2.47 ゲームエンジンのアルファブレンディング
カテゴリートップ
Blender機能別
次
Blender 2.48 Sun、Sky、Atmosphere

クイックリンク

2013/11/15版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- オープンプロジェクト
- 公式ストア

●マニュアルなど
公式マニュアル(途中)
JBDP2.5 Wiki
CGRad Project
Project-6B(6B計画)

●チュートリアルなど
公式チュート等
その他チュートリンク集
公式動画チュートリアル
Blender Cookie
Blenderで3DCG制作日記
BlenderVideos.com
Blender 3D: Noob to Pro
blenderguru

●日本語コミュニティ
Blender@2ch
BLUG.JP(FBページ)
(BLender User Group of JAPAN)

-旧BLUG.JP
-blugjpまとめ
ぶれんだちゃん*(ツイッター)

●実写合成(日本語)
CGCompo

●合成エフェクト(日本語)
tomo@web

●Cycles
Blender Cycles memo

●Freestyle(日本語)
公式マニュアル
使用例
スザンぬクラブ

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org
- フォーラム
- 記事検索
- New feature tests
- Model Repository

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Graphicall.org(非公式)
Buildbot(自動生成)

●開発関連
開発情報
開発ドキュメント
公式開発ブログ
Blender開発者サイト
- バグトラッカー
- 旧バグトラッカー(閲覧用)
- パッチトラッカー
- 旧パッチトラッカー(閲覧用)
SVNコミットログ

●GameBlender
公式マニュアル
専用API
バグトラッカーなど
旧バグトラッカー(閲覧用)
Bullet 物理演算ライブラリ

●外部レンダラ
YafRay
LuxRender 私家版資料
Mitsuba

●アドオン
公式スクリプトカタログ
BlenderArtists::python & plugins

●アドオン開発
最新 PythonAPI
Python Japan User's Group

●モデル&マテリアル
Blender Model Repository
Kator Legaz 3D Model
Blend Swap
blender-materials.org

●日本語化・翻訳サイト
Blender日本語化関連(blugjpまとめ)
日本語化の設定(2.4xのみ)

●2.4x用スクリプトとAPI
公式(日本語:下側参照)
L-System(2.5以降は同梱)
Python API リファレンス(2.4x用)

2.4x以前ではPythonフルセットが別途必要になることがあります。
旧Pythonバージョン

●2.4x用プラグイン(Python以外)
Blender Plugin Repository

ログイン

ユーザ名:

パスワード:



パスワード紛失