2015年03月20日

Appleseedレンダリングエンジンのテスト その3

今回はAppleseedの特徴らしいfluffyとmotion blurを少し試してみました。studioでできることは少なくて.appleseed(XML)を直接編集したりコマンドラインで実行したりする、もしくは(こちらが本来の使い方なんだと思いますが)MayaやBlenderのプラグインを使ってくださいということだと思います。



slideshareを使うようになったのでブログには書くことがないです…。

web拍手 by FC2
posted by シンドラー at 00:35 | Comment(0) | TrackBack(0) | Rendering | このブログの読者になる | 更新情報をチェックする

2015年03月17日

Appleseedレンダリングエンジンのテスト その2

VidroやAppleseed用に.objに変換したり.vdrや.appleseedを出力したりする場合に、コマンドラインで指定するのが面倒になってきたので、GUIを作ることにしました。今回は簡単そうなAntTweakBar[1]を使用してみました。ついでにオレオレライブラリのPMX読込みがバグだらけだったので、ある程度修正しました。

後、モデルのサイズなどによって視点位置を色々調整したりするのも面倒だったので、とりあえず初期の視点位置だけ自動で計算するようにしてみました。これで縦は収まるはずですが、横ははみ出るかもしれません。横もはみ出さないようにする計算ももう一計算追加すればできるとは思います。

init_viewpoint_001.png

init_viewpoint_002.png

init_viewpoint_004.png

自動設定結果
tda_roku_001.png

そのうちパラメータとか追加したいですが、やらない気もしますね。読込みテストとして[2]のTda式改変憤怒ミクさんを使用させていただいております。遅刻が勿体ないぐらいの出来ですね。

Appleseedレンダリング結果
tda_roku.jpg

ポーズとかパラメータとか手抜きですみません。まぁ材質毎にいい感じのパラメータを探すのが結構大変だったりするんですが。背景に前回と同じHDR画像を使用させていただいております。

最近書き忘れていることが多い気がするのでライセンス表示を…。

この作品はピアプロ・キャラクター・ライセンスに基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」を描いたものです。

[1] http://anttweakbar.sourceforge.net/doc/
[2] http://seiga.nicovideo.jp/seiga/im4688893

web拍手 by FC2
posted by シンドラー at 02:19 | Comment(0) | TrackBack(0) | Rendering | このブログの読者になる | 更新情報をチェックする

2015年03月09日

Appleseedレンダリングエンジンのテスト

UE4やUnity5が無償で使えるようになったみたいで素晴らしいことですね。そういうわけでUE4やUnity5を使えばいいと思うのですが、appleseed[1]というオープンソースのレンダラがあるようでしたので試してみることにしました。とりあえずGetting Startedの適当和訳です。画像などは[2]を見てください。

ダウンロードとインストール
Downloadのページから、対応するプラットフォームの現在のバージョンをダウンロードしてください。
zipファイルですので、解凍するだけでappleseedを使用することができます。ここでは、appleseedというディレクトリに解凍したと想定します。

appleseed.studioの開始
appleseed.studioが、統合的なグラフィカル環境となっています。appleseedはレンダラなので、本当はユーザインタフェースを持ちませんが、appleseed.studioを中心的なツールとして使用することができます。
Windowsでappleseed.studioを起動するためには、appleseed\binディレクトリにあるappleseed.studio.exeをダブルクリックしてください。

上図のようなウィンドウが現れます。appleseed.studioのメインウィンドウは、4つのセクションに分かれています。
1. 中央のレンダーエリア
2. 左側のシーンを作るための実体を表示するためのプロジェクトエクスプローラ
3. 右側の選択された実体のプロパティを編集するための属性エディタ
4. 下側のアプリケーションの動作や情報、警告、エラーなどを表示するためのログパネル

パネルは個別に動かすことができます。ウィンドウの右下のコーナーにあるボタンで隠すこともできます。

最後に、F11を押すことで、すべてのパネルを隠すことができ、もう一度F11を押すと元に戻ります。

appleseed.studioは、終了時にユーザインタフェースの状態を記憶して、次回起動時に再現します。

内蔵シーンの読込みとレンダリング
appleseedでは、Cornell Boxのシーンをあらかじめ用意しています。File→Open Built-in Projectメニューを選んで、Cornell Boxを選択してロードしてください。レンダーエリアの中心に、黒い立方体が現れます。私たちは、これをレンダーウィジェットと呼びます。

レンダリングを始めましょう:Renderingメニューを開き、Start Interactive Renderingを選ぶか、F5を押してください。

最初、Cornell Box画像はノイズだらけですが、すぐにより滑らかにレンダリングされるでしょう。デフォルトでは、インタラクティブレンダリングは画像をいつまでも再生成し続けます。

RenderingメニューのStop Renderingを選択するか、Shift-F5を押すことで、レンダリングを停止することができます。

シーンのナビゲート
シーン中をナビゲートするためには、インタラクティブレンダリングを実行している必要があります。F5を押してインタラクティブレンダリングを開始してください。

視点を変えてみましょう。コントロールは次のようにできます:
・カメラの回転:Ctrl+左マウスボタン+レンダーウィジェット内でドラッグ
・カメラの平行移動:Ctrl+中マウスボタン+レンダーウィジェット内でドラッグ
・カメラの前後移動:Ctrl+右マウスボタン+レンダーウィジェット内でドラッグ

最終レンダーの開始
ここまで、インタラクティブレンダリングだけ使用しました。このモードはクイックプレビューに向いています。しかしながら、最終的な画像を得るときには、Final Renderingモードを使用します。

RenderingメニューのStart Final Renderingを選択するか、F6を押すことで最終レンダリングを開始することができます。また、Shift-F5を押すことで、レンダリングを中断することができます。

注意点として、レンダリングはタイル毎に行われ、デフォルトでは、あなたのマシーンが複数のCPUコアを持っていれば同時にレンダリングされます。

レンダリング設定に依存して、レンダラはシングルパスでレンダリングしたり、プログレッシブにマルチパスレンダリングを行ったりします。

レンダラ設定の変更
レンダラ設定を変更する前に、レンダリングを停止する必要があります。もし停止していなければ、Shift-F5を押してレンダリングを停止してください。

F7を押して、レンダラ設定ダイアログを開いてください。

一番上のConfigurationのドロップダウンリストは、何の設定を行うかを変更するためのもので、FinalがFinal Renderingモード、InteractiveがInteractive Renderingモードになります。

最終レンダラ設定を変更しましょう:Finalが選択されていることを確認してください。

最終レンダリングモードの欠点の一つとして、デフォルト設定では、結果が期待通りであるかどうかを確認するために長時間待たないといけないことが挙げられます。

早めに良い結果かどうか判定するための方法として、マルチパス最終レンダリングを使用することができます。このモードは、最終レンダリングでもいくらかプログレッシブ的に結果を確認できます。

パスの数を、デフォルトの1から8に増やしてみましょう。また、それぞれのパスのサンプル数を、64から8に減らしましょう。

OKを押して、F6で再度最終レンダリングを開始しましょう。

8パスでは、それぞれのパスでは8サンプルなので、トータルでのサンプル数は同じですが、1/8の時間で最終結果の概要を確認することができます。

[1] http://appleseedhq.net/
[2] http://appleseedhq.net/docs/tutorials/gettingstarted.html

ついでにSlideShareを試してみることにします。ちゃんと見れますかね。


web拍手 by FC2
posted by シンドラー at 23:06 | Comment(0) | TrackBack(0) | Rendering | このブログの読者になる | 更新情報をチェックする

2015年02月26日

vidroで表面下散乱のテスト その2

前回の続きです。やらないと書きましたが一応反射も少し試してみました。

今回の設定
vidro_sss_003.png

前回の結果
ab5_29_s4.png
今回の結果
ab5_29_s6_emit.png

加えすぎるとプラスチックっぽくなりますし難しいですね。
web拍手 by FC2
posted by シンドラー at 21:28 | Comment(0) | TrackBack(0) | MMD | このブログの読者になる | 更新情報をチェックする

2015年02月25日

vidroで表面下散乱のテスト

気が付けば2月が終わろうとしていて困ったものです。

vidroのsample3が表面下散乱のサンプルになっているようです。
sample3_scattering.png

内部の屈折率1.33、透過100%で、ボリュームの設定は以下のような設定になっていました。
  HomogeneousExtinction	0.03 0.03 0.03
  HomogeneousAlbedo 0.80 0.40 0.20
  Anisotropy 0.5

今回は、vidroで人肌を表面下散乱でそれっぽくできないかのテストです。

肌の多いリアル系のモデルということで、かこみき様のABちゃん5モデルを使用させていただきました。結果画像を貼るだけならMMD外でも大丈夫なはずですが、問題がありましたらお知らせください。また、今回もMMDBridgeを使用しています。

肌は大体屈折率1.4で、入射光100%のうち、反射5%で透過が95%、透過の内訳は、表面下散乱で外に出るのが55%、そのまま吸収されるのが40%ぐらいだそうです[1][2]。表面だけでなく多層のモデルを作ればこの割合で行けるのかもしれませんが、今回は透過40%の設定でやってみました。

肌の設定
vidro_sss_001.png

面倒だったので反射0にしてますので、ハイライトとか出てないです。透過40%で反射0にしたとき残りの60%は全部Diffuseになるんでしょうかね。

内部ボリュームの設定
vidro_sss_002.png

血管が多いので肌色より赤っぽくなるらしいので、こんな感じにしてみました。前方散乱か後方散乱かはどちらが多いのかわからなかったので等方にしています。

実行結果

首の白いのは顔のポリゴンの首の部分と、体のポリゴンの首の部分が重なっているために出てきている何かです。vidroのドキュメントにも、重なった面は駄目だと書いていたので、そのためだと思います。

透過なし、Diffuseのみの結果
ab5_29_s_no_emit.png
完全な白色光のせいもあるかもしれませんが白っぽいです。

今回の設定の結果
ab5_29_s4.png
何となく赤っぽくなったような。クリックして原寸サイズならわかりますが、ブログ上のサイズだと殆どわからないぐらいの微妙な違いですね。

より良いパラメータを探したり、反射をちゃんと入れたり、肌の細かいノーマルマップなどを加えればよりそれっぽくなるとは思いますが、多分やらないと思います。

[1] ttp://www.netsubussei.jp/group/takada.pdf
[2] http://news.mynavi.jp/column/graphics/059/

web拍手 by FC2
posted by シンドラー at 00:23 | Comment(0) | TrackBack(0) | MMD | このブログの読者になる | 更新情報をチェックする

2015年01月27日

vidroのVolumeのテスト

vidroのボリュームレンダリングも中々お手軽で良さそうなのですが、情報が見当たらないのでメモしておきます。とりあえずSample4のvolume_caustic.vdrにコメントを入れてみました。後、たまに黒い点が入ってしまうので、メディアンフィルタで取り除いています。

実行結果

vidro_volume_003.png

vidro090517

# "CRYSTAL"という名前のマテリアルを定義
new Material "CRYSTAL"
  # 透明度すべて1.0で完全透過
  Transparency    1.0 1.0 1.0
  # ボリューム"a"とボリューム"b"の屈折率は1.0と1.5
  IOR      1.0 1.5
  # 表面がボリューム"a"で、裏面がボリューム"b"
  Volume      "a" "b"

# "0"という名前の空間を定義
new Space "0"

  # ボリューム"a"の定義
  new Volume "a"
    # ボリューム"a"の空間内での光の減衰を設定(0以上、50とかも設定できる)
    HomogeneousExtinction  0.2 0.2 0.2
    # ボリューム"a"の空間内での光の散乱を設定(0から1まで)
    HomogeneousAlbedo  0.3 0.3 0.3
    # ボリューム"a"の空間内での前方散乱/後方散乱の割合を設定(-1から1まで)
    Anisotropy    0.8

    # 点光源の定義
    new PointLight
      # 点光源の明るさ。テクスチャを用いることでスポットライトの効果
      Intensity  96.0 48.0 24.0 "spot.bmp"
      # 点光源の位置座標
      Position  0.2 0.75 -0.3
      # スポットライトの方向を変えるための回転行列
      X    0.95782626 -0.22987832 0.17240873
      Y    0.28734788 0.76626104 -0.57469577
      Z    0.00000000 0.60000000 0.80000000

    # 視点位置の設定
    new Eye
      Position  0.0 0.25 1.5
      Focus    0.0 0.25 0.0
      FocalLength  0.035

  # ボリューム"b"の定義(デフォルト)
  new Volume "b"

  # オブジェクト"0"の定義
  new Object "0"
    # 球のモデルデータを読込む
    File    "sphere.obj"
    # 位置の設定
    Position  0.05 0.35 0.0

HomogeneousExtinctionで減衰、HomogeneousAlbedoで散乱を設定できます。こちらは均一なので、ボリューム"a"全体にかかっています。実行結果ではスポットライトの部分だけのように見えますが、明るいのでわかりやすいだけで、よく見るとスポットライト以外のところも減衰や散乱しています。

続いて、局所的で不均一な場合のサンプルを作ってみました。Sample1のSample1.vdrを改変しました。

実行結果

vidro_volume_000.png

vidro090530

# 球のマテリアルの定義
new Material "SPHERE1"
  # 外側と内側のボリュームの設定
  Volume      "OUTER" "INNER"
  # 外側と内側の屈折率
  IOR      1.0 1.33
  # 完全透過
  Transparency    1.0 1.0 1.0

# 床のマテリアルの定義
new Material "FLOOR"
  # チェック柄のテクスチャ
  Diffuse      1.0 1.0 1.0 "check.png"

# 空間の定義
new Space "0"
  # 外側のボリュームの定義
  new Volume "OUTER"
    # 局所的な減衰の定義。starディレクトリの画像を使用する
    Extinction  25.0 25.0 0.0 "C:\vidro100630x64en\sample1\star"
    # 局所的な散乱の定義。starディレクトリの画像を使用する
    Albedo    0.5 0.5 0.0 "C:\vidro100630x64en\sample1\star"
    # 局所空間のAABBの最小座標を設定
    Origin -0.25 0 -0.25
    # 局所空間のサイズを設定。(-0.25, 0.0, -0.25)〜(0.25, 0.5, 0.25)の空間
    Size 0.5 0.5 0.5
    # 天空光源
    SkyLight  0.5 0.5 0.75 "sky.hdr"

    # 平行光源
    new ParallelLight "LIGHT0"
      Emission  0.5 0.5 0.25
      Direction  -1.0 1.0 -1.0

    # 視点座標
    new Eye
      Position  0.0 0.5 1.0
      Focus    0.0 0.1 0.0

  # 内側のボリュームの定義(デフォルト)
  new Volume "INNER"

  # 球の定義
  new Object
    File    "sphere.obj"
    Material  "SPHERE1"
    Position  0.0 0.1 0.0
  
  # 床の定義
  new Object
    File    "floor.obj"
    Material  "FLOOR"

局所的な場合は、Homogeneousを取り除いてExtinctionとAlbedoとします。ここで注意点として、OriginとSizeでちゃんと領域を指定してあげないと画面上に反映されません。

starディレクトリに画像を入れます。今回は下記の適当に作った画像1枚を入れています。

volume001.png

ディレクトリ名を空欄にすれば、下記のように局所空間全体が減衰/散乱します。

vidro_volume_001.png

結果からもわかるように、下図のような関係のようです。

vidro_volume_004.png

確認のため、もう一枚starディレクトリに画像を入れます。

volume000.png

vidro_volume_002.png

○を000.png、☆を001.pngとしていますので、○が奥になっています(視点(0,0.5,1.5)、注視点(0,0.1,0)より)。
ちゃんとした3次元テクスチャがあれば、もう少し色々できそうです。

参考サイト
[1] vidroホームページ: http://vidro-renderer.sakura.ne.jp/
web拍手 by FC2
posted by シンドラー at 22:42 | Comment(0) | TrackBack(0) | MMD | このブログの読者になる | 更新情報をチェックする

2015年01月19日

MMDBridgeとvidroのテスト

今更ですが明けましておめでとうございます。もう1月下旬とか困ったものですね。今回は楽にきれいな画像を作ろうということで既存のレンダラを使ってみることにしました。レンダラにも色々ありますが、せっかくなのでMMDBridge[1]に挙がっているvidro[2]〜[4]を使ってみることにしました。2010年が最終更新になっていますので、もう更新されないんですかね。

MMDBridgeのvirdoサンプルは、日本語の混じった名前のテクスチャを使っているようなPMXモデルでutf-8 decode errorみたいなのがでたのと、Diffuseなどがなぜか全部0になっている?ようなのと、エッジ色等の情報が取得できないようでしたので、Objと簡単なvdrファイルを出力するだけのものに変更しました。後、vidroのsample2のboxとwaterを使用するようなものにしています。

pythonスクリプト

後は、自前のPMXローダからobjのmtlファイルと、半角英数にリネームしたテクスチャ画像、色やエッジ情報などのマテリアルに関するvdrファイルを出力するようにしました。mtlはマテリアル名ぐらいで、それ以外の色やテクスチャの情報はvdrに出力してしまいます。

注意点としては、透明度を含むpngやtgaを指定していても、objの場合はそれを認識してくれないようですので、map_dというアルファマップ用の画像をpngやtgaから抽出する必要があります。また、vidroでは、基本的にRGB指定×テクスチャ画像の乗算で計算されるため、透明度に関しても同様に処理されます。つまり、透明度は1が完全な透明、0が不透明でそれにアルファマップの画像を乗算することになりますので、透明にしたいところを白色、不透明にしたいところを黒色と、一般的なアルファマップ画像を反転させる必要があります。(rgb = 1.0-aとした画像を新たに作成します)

実行結果

とりあえずデフォルト設定+SkyLightにHDR画像を指定してレンダリングした結果です。スカイドームに[5]を、歩きモーションに[6]を、PMXモデルに[7]を使用させていただいております。GIはやっぱりいい感じですね。

vidro_008.png

フォトリアリスティックとノンフォトリアリスティックを選択でき、ノンフォトの場合にはエッジが描画されます。デフォルトでは黒い線がすべての境界に引かれてしまうので微妙です。

vidro_010.png

そこで、エッジ色に関してはPMXファイルから取得して、エッジが無効になっているものはContourGroupでビット調整して非表示にしました。また、濃さに関してはBoundary?で、内部のしわのエッジの濃さ?はCreaseで設定する必要がありますので、PMXEditorを参照しながら多少は修正しました。

vidro_009.png

サンプルvdrファイル

全身だとこんな感じです。

vidro_006.png vidro_007.png

後はvidro付属のsample2のデータと[8]の立ちポーズを使ったらこんな感じになりました。

vidro_012.png

トーンマップの設定やVolumeの設定など、まだまだ色々できることはあるので、時間があれば試してみたいです。

参考サイト
[1] MMDBridgeホームページ: http://mmdbridge.render.jp/
[2] vidroホームページ: http://vidro-renderer.sakura.ne.jp/
[3] vidro参考サイト1: http://aether5th.blog40.fc2.com/category35.html
[4] vidro参考サイト2: http://kmurai.blog52.fc2.com/blog-category-12.html
[5] スカイドーム: http://www.nicovideo.jp/watch/sm10968092
[6] 歩きモーション: http://www.nicovideo.jp/watch/sm9554606
[7] 磯風モデル: http://www.nicovideo.jp/watch/sm24596846
[8] 立ちポーズ:http://seiga.nicovideo.jp/seiga/im4373054
web拍手 by FC2
posted by シンドラー at 21:20 | Comment(0) | TrackBack(0) | MMD | このブログの読者になる | 更新情報をチェックする

2014年12月29日

OpenGLでビルボードのテスト その4

年末年始は油断するとすぐ終わってしまうので困ったものです。今回はビルボードの復習です。

billboard004_001.png

上の図のように、ビルボードはワールド座標で指定するのではなく、正規化デバイス座標系やスクリーン座標系で指定するとわかりやすくなります。しかし、正規化デバイス座標系やスクリーン座標系で指定した場合は、それをワールド座標に戻してボリゴンを描画しないと画面に表示することができません。

CGで線形代数が必要な部分ですが、座標変換を行列計算で行っているので、逆行列を使えば正規化デバイス座標系やスクリーン座標系をワールド座標に変換することができます。

billboard004_002.png

この辺の変換をきちんと把握していると、シェーダが読みやすくなりますね。ここでこの行列を掛けているから、今は視点座標系のデータだな…とか。

billboard004_003.png

今回は正規化デバイス座標系をワールド座標に戻したいので、ViewProjection行列の逆行列を、適当に設定したスクリーン座標4つに掛けてあげればワールド座標に戻すことができます。

実行結果

ティーポットとビルボードを表示しています。視点を回転させていて、ティーポットはそのまま、ビルボードは視点の方向に向くことを確認しています。

billboard004_004.png

glut+glmを使用したサンプルコード
billboard_004.cpp
web拍手 by FC2
posted by シンドラー at 23:40 | Comment(0) | TrackBack(0) | OpenGL & Metasequoia | このブログの読者になる | 更新情報をチェックする

2014年12月26日

画像の極座標変換について その2

今頃気づきましたが、画像の極座標変換のところにコメントをいただいていました。手法など全然説明していないので自分で読んでもどうやっていたのか良くわからないですね。というわけで一応解説とOpenCV使ったサンプルソースコードを作ってみました。

polar_image_001.png

[1]を上の式で変換した結果(polarTest)
polar_image_dst.png

polar_image_002.png


[2]"Photo by DAVID ILIFF. License: CC-BY-SA 3.0"を上の式で変換した結果(polarTest2)
polar_image_dst2.png

ソースコード
opencv_polar.cpp
(2015.10.29追記:atan2(dx, dy)はatan2(dy, dx)の間違いです)

[1] http://www.mvision.co.jp/WebHelpIM/_RESOURCE/Filter_Mvc_Polar.html
[2] Helvellyn Striding Edge 360 Panorama, Lake District
web拍手 by FC2
posted by シンドラー at 17:49 | Comment(0) | TrackBack(0) | Image Processing | このブログの読者になる | 更新情報をチェックする

2014年12月25日

Oculus SDK 0.4.1から0.4.4への修正点メモ(OpenGL用)

0.4.4で速くなったり安定したりというお話を聞いたので、そろそろバージョンアップしてみました。DirectXやUnityのお話の気もするので、OpenGLでその恩恵が受けられるのかどうかわかりませんが。

0.4.1のプログラムをコンパイルしようとしたらエラーがでたので、修正点のメモです。GLFW3を使う場合は、[1]を使えばそのままコンパイル/実行できます。試していないですが、OculusRoomTinyのOpenGLバージョンが[2]にあるので、参考になると思います(Oculus SDK付属のサンプルはDirectXだけになってたみたいなので…)。

変更点1 RTSize -> BackBufferSize
[1]にも書かれていますが、変数名が変わったようなので修正します。
    ovrGLConfig cfg;
    cfg.OGL.Header.RTSize = OVR::Sizei(hmd->Resolution.w, hmd->Resolution.h);
        ↓
    cfg.OGL.Header.BackBufferSize = OVR::Sizei(hmd->Resolution.w, hmd->Resolution.h);

変更点2 ovrHmd_GetEyePose -> ovrHmd_GetEyePoses
0.4.1では片目毎にovrHmd_GetEyePoseをしていたのですが、ovrHmd_GetEyePosesで一度に取得するようになったようです。
    ovrHmd_GetEyePoses(hmd, frameIndex, eyeRenderOffset, eyeRenderPose, NULL);

変更点3 ViewAdjust -> HmdToEyeViewOffset;
変更点2にも関係しますが、0.4.1ではViewAdjustで左右目のIPD差?を取得できていたのですが、HmdToEyeViewOffsetという名前に変わっていました。
    ovrVector3f eyeRenderOffset[2];
    eyeRenderOffset[ovrEye_Left] = eyeRenderDesc[ovrEye_Left].HmdToEyeViewOffset;
    eyeRenderOffset[ovrEye_Right] = eyeRenderDesc[ovrEye_Right].HmdToEyeViewOffset;

後、[1]では大丈夫だったのですが、自前のglutバージョンを0.4.4対応に修正したものでは、health and safety warningをAPIで非表示にした場合に、トラッキングのエラー?が出て画面が真っ暗になってしまったため、[3]を参考に無理やり非表示にしました。

[1] Simple, one page, OpenGL example (0.4.4)
[2] Oculus SDK 0.4.4-beta OpenGL Demo
[3] Oculus Rift SDK 0.4.3bでhealth and safety warningを非表示にする方法
web拍手 by FC2
posted by シンドラー at 08:15 | Comment(0) | TrackBack(0) | Oculus Rift | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。