Copyright © GREE, Inc. All Rights Reserved.
アーティストのための
プログラマブルシェーダ講座
2015/11/12
グリー株式会社
酒井 駿介
Copyright © GREE, Inc. All Rights Reserved.
資料・ソースコードについて
本講演でご紹介したサンプルは、弊社
Githubアカウントにて公開しています。
https://github.com/gree/gcm3.shader.s
ample
#アートアセットは含まれません
Copyright © GREE, Inc. All Rights Reserved.
自己紹介
酒井駿介
グリー株式会社 / Artグループ
テクニカルアーティスト
Technical Artistチームにて、3Dアートア
セットパイプラインの構築や、シェーダ開
発、処理負荷の最適化などの業務を行う。
Copyright © GREE, Inc. All Rights Reserved.
本講演のテーマ
アーティストのための
プログラマブルシェーダ講座
Copyright © GREE, Inc. All Rights Reserved.
本日の内容
1. プログラマブルシェーダ
スターターガイド
2. 今すぐ使える!
シェーダテクニック
3. まとめ
4. QA
Copyright © GREE, Inc. All Rights Reserved.
プログラマブルシェーダ
スターターガイド
基本編
Copyright © GREE, Inc. All Rights Reserved.
シェーダって?
3Dグラフィックを描画するための
コンピュータプログラム。
Copyright © GREE, Inc. All Rights Reserved.
どんなことができるか?
• キャラクターや背景の見た目をかっこよ
くできる
• ツールの限界を超えられる
• イケてるUIが作れる
• 処理を軽くできる(場合もある)
Copyright © GREE, Inc. All Rights Reserved.
シェーダの開発環境
ライブラリ 言語
DirectX HLSL
OpenGL GLSL
ゲームエンジン /
ミドルウェア
ツール
Unity Shader Lab
Unreal Engine Material Editor
Maya / Stingray Shader FX など
Copyright © GREE, Inc. All Rights Reserved.
スクリプト or ノード
重要なのは、レンダリングパイプラインだ!
Copyright © GREE, Inc. All Rights Reserved.
レンダリングパイプライン
3Dデータが2D画像として
描画される手順のこと。
Vertex
Stage
※わかりやすく省略したもの。
実際はグラフィックライブラリの種類やバージョンによって異なる。
Fragment
Stage
OM
Stage
Copyright © GREE, Inc. All Rights Reserved.
Vertex Stage
頂点Vertexを処理するステージ
Copyright © GREE, Inc. All Rights Reserved.
Fragment Stage
ピクセルごとに処理を行うステージ
Copyright © GREE, Inc. All Rights Reserved.
OM Stage
出力したピクセルの合成処理を
行うステージ (Output Merger)
Copyright © GREE, Inc. All Rights Reserved.
Unityでのシェーダの扱い
• ShaderLab
– Surface Shader
– Vertex and Fragment Shader
– Fixed Function Shader
• HLSL or GLSLで.shaderファイルを記述
• マテリアルにShaderを指定して使う
Copyright © GREE, Inc. All Rights Reserved.
Surface Shader /
Vertex and Fragment Shader
• Surface Shader
– ライトの処理を行う場合
(キャラクターモデルなど)
– Unity5から物理ベースのシェーダタイプに
• SurfaceOutputStandard
• SurfaceOutput
• Vertex and Fragment Shader
– ライトの処理を行わない場合 (UIなど)
Copyright © GREE, Inc. All Rights Reserved.
Built In Files
ビルトインのShader関連ファイルが
含まれる。
• Shaderファイル(.shader)
• ライブラリファイル(.cginc)
Copyright © GREE, Inc. All Rights Reserved.
今すぐ使える!
シェーダテクニック
実践編
Copyright © GREE, Inc. All Rights Reserved.
半球シェーダ
頂点の位置をカメラからの距離に応じて変
更し、背景モデルを半球のような見た目に
する。
Copyright © GREE, Inc. All Rights Reserved.
半球シェーダ
Copyright © GREE, Inc. All Rights Reserved.
リムライティング
モデルの輪郭を光らせる手法
Copyright © GREE, Inc. All Rights Reserved.
リムライティング
dot関数を使いこなすのがポイント!
方向ベクトル
法線ベクトル
との状態
結果
Directional Light 垂直 0
Camera 並行 1
Copyright © GREE, Inc. All Rights Reserved.
リムライティング
Copyright © GREE, Inc. All Rights Reserved.
デプスマスク
デプスバッファ(深度情報)の書き込みは行
うが、カラーの出力は行わないシェーダ。
Copyright © GREE, Inc. All Rights Reserved.
デプスマスク
Copyright © GREE, Inc. All Rights Reserved.
Shader on UI
UIの描画にもShaderが
使われている!
• NGUI
• uGUI
Fragment Stage
↓
UV情報に手を加える
↓
手を加えたUV情報を元
にテクスチャを取得
↓
結果を出力
Copyright © GREE, Inc. All Rights Reserved.
Shader on UI
Copyright © GREE, Inc. All Rights Reserved.
ポストエフェクト
フレームバッファ生成
↓
もう一度レンダリング
パイプラインへ
↓
Vertex / Fragment
Stageにて処理
↓
結果を出力
Copyright © GREE, Inc. All Rights Reserved.
ポストエフェクト
Copyright © GREE, Inc. All Rights Reserved.
まとめ
• 使いみちは3Dだけじゃない
• エンジン・ツールの限界を突破できる
• レンダリングパイプラインさえわかれば、
異なる言語や開発環境でも
同じ ”考え方” ができる
Copyright © GREE, Inc. All Rights Reserved.
アートの力で
モバイルゲーム市場を
盛り上げていきましょう!
Copyright © GREE, Inc. All Rights Reserved.
QA
1. プログラマブルシェーダ
スターターガイド
2. 今すぐ使える!
シェーダテクニック
3. まとめ
4. QA

More Related Content

PDF
Gcm#3 vr project making of サラと毒蛇の王冠
PPTX
GCM#4 アーティストのためのプログラマブルシェーダー講座Part2
PDF
Gcm#3 グリーモバイルサウンドの歩み・変遷
PPTX
モバイル×VRにおける3Dサウンド実践
PDF
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
PDF
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
PDF
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
PPTX
[CEDEC2014] 消滅都市のつくりかた 半年で素敵なゲームをリリースするには -
Gcm#3 vr project making of サラと毒蛇の王冠
GCM#4 アーティストのためのプログラマブルシェーダー講座Part2
Gcm#3 グリーモバイルサウンドの歩み・変遷
モバイル×VRにおける3Dサウンド実践
ロボット好き集まれ!こいつ、動くぞ。星と翼のパラドクス開発事例
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
[CEDEC2014] 消滅都市のつくりかた 半年で素敵なゲームをリリースするには -

What's hot (20)

PDF
FINAL FANTASY
 Record Keeper 演出データについて
PPTX
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
PDF
CEDEC2013 ソーシャルゲームの開発現場でUXについて思いっきりあがいてみた1年間の話
PDF
モンスター、マスコットとアニメーションの将来
PDF
UE4における大規模レベル実装ワークフローとブループリント活用事例
PDF
FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
PDF
位置情報を常に取得するのはつらいよ
PDF
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
PDF
Game Creators Conference 2019 Keiji Kikuchi
PDF
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
PDF
Kansai Game Study 2019 Keiji Kikuchi
PPT
制作を支えたツール達 (パズル戦隊デナレンジャー)
PDF
AROW の紹介 〜概要編〜
PDF
Unreal Engine 4 Education 2 UnityとUE4の違いは?
PDF
AROW の紹介 〜実践編〜
PDF
【Unite Tokyo 2019】映像制作はUnityでさらなる高みへ メイキング オブ next "Gift ”
PDF
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
PDF
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
PDF
Cedec2015 お客様に驚きを提供する運営 消滅都市の事例から-
PDF
「AROW」お披露目(導入編)
FINAL FANTASY
 Record Keeper 演出データについて
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
CEDEC2013 ソーシャルゲームの開発現場でUXについて思いっきりあがいてみた1年間の話
モンスター、マスコットとアニメーションの将来
UE4における大規模レベル実装ワークフローとブループリント活用事例
FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
位置情報を常に取得するのはつらいよ
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
Game Creators Conference 2019 Keiji Kikuchi
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
Kansai Game Study 2019 Keiji Kikuchi
制作を支えたツール達 (パズル戦隊デナレンジャー)
AROW の紹介 〜概要編〜
Unreal Engine 4 Education 2 UnityとUE4の違いは?
AROW の紹介 〜実践編〜
【Unite Tokyo 2019】映像制作はUnityでさらなる高みへ メイキング オブ next "Gift ”
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
Cedec2015 お客様に驚きを提供する運営 消滅都市の事例から-
「AROW」お披露目(導入編)
Ad

Viewers also liked (20)

PDF
Gcm#3 uiデザインの品質を効率的に向上させるには?
PDF
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
PDF
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
PPTX
【CEDEC2016】横スクロールARPG 「追憶の青」における 2Dキャラクターアニメーション〜2Dアニメの注意点とテクニック〜
PDF
Dev sumi 14-e-1-クラウドセキュリティ
PDF
Impact beginngers guide_1.19
PDF
JavaScriptゲーム制作勉強会
KEY
スマホ向けCanvasゲームの作り方
PDF
Gcm#4 VR空間で殴られよう 一人称視点の近接攻撃表現の事例
PPTX
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
PPT
視野変換2
PDF
Gcm#4 アメリカの長編アニメーションの 色とライティング
PDF
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
PPTX
Unityのポストエフェクトで遊ぶ!
PDF
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
PPTX
GCC2016 ゲームエフェクト制作の現状報告
 
PPTX
マシな画面を作る
PDF
Sketchで変わるワークフロー
PDF
NOSQLの基礎知識(講義資料)
PDF
『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR ...
Gcm#3 uiデザインの品質を効率的に向上させるには?
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
【CEDEC2016】横スクロールARPG 「追憶の青」における 2Dキャラクターアニメーション〜2Dアニメの注意点とテクニック〜
Dev sumi 14-e-1-クラウドセキュリティ
Impact beginngers guide_1.19
JavaScriptゲーム制作勉強会
スマホ向けCanvasゲームの作り方
Gcm#4 VR空間で殴られよう 一人称視点の近接攻撃表現の事例
Visual Studio 2012のDirect3Dアプリ開発者向け新機能を知ろう
視野変換2
Gcm#4 アメリカの長編アニメーションの 色とライティング
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
Unityのポストエフェクトで遊ぶ!
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
GCC2016 ゲームエフェクト制作の現状報告
 
マシな画面を作る
Sketchで変わるワークフロー
NOSQLの基礎知識(講義資料)
『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR ...
Ad

Similar to Gcm#3 アーティストのためのプログラマブルシェーダ講座 (20)

KEY
シェーダーしよっ☆ Let's play shaders!
PDF
GLSLによるシェーダーアートことはじめ
PDF
そうだRTシェーダをはじめよう
PDF
シェーダ勉強会(第1回) Unityでシェーダを書いてみる回
PDF
Shader読んで理解する会-基礎編
PPTX
知覚動考、とりあえずShaderを書いてみる
PPTX
Shadow gunのサンプルから学べるモバイル最適化
PPTX
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
PDF
WebGL and Three.js
PDF
【Unity道場 2月】シェーダを書けるプログラマになろう
KEY
Cocos2d Shaders
PDF
Unityとシェーダで描く360度フラクタル
PDF
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
PDF
Cocos2dshader devcon jp_20120621_en
PPTX
Direct x raytracing the life of a ray tracing kernel
PDF
シェーダ勉強会 第2回 Phong モデルとテクスチャマッピング
PDF
Web GLの話
PDF
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
PDF
coma Creators session vol.2
PDF
GREE Creators' Meetup #2 session B Manryo
シェーダーしよっ☆ Let's play shaders!
GLSLによるシェーダーアートことはじめ
そうだRTシェーダをはじめよう
シェーダ勉強会(第1回) Unityでシェーダを書いてみる回
Shader読んで理解する会-基礎編
知覚動考、とりあえずShaderを書いてみる
Shadow gunのサンプルから学べるモバイル最適化
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
WebGL and Three.js
【Unity道場 2月】シェーダを書けるプログラマになろう
Cocos2d Shaders
Unityとシェーダで描く360度フラクタル
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
Cocos2dshader devcon jp_20120621_en
Direct x raytracing the life of a ray tracing kernel
シェーダ勉強会 第2回 Phong モデルとテクスチャマッピング
Web GLの話
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
coma Creators session vol.2
GREE Creators' Meetup #2 session B Manryo

Gcm#3 アーティストのためのプログラマブルシェーダ講座

  • 1. Copyright © GREE, Inc. All Rights Reserved. アーティストのための プログラマブルシェーダ講座 2015/11/12 グリー株式会社 酒井 駿介
  • 2. Copyright © GREE, Inc. All Rights Reserved. 資料・ソースコードについて 本講演でご紹介したサンプルは、弊社 Githubアカウントにて公開しています。 https://github.com/gree/gcm3.shader.s ample #アートアセットは含まれません
  • 3. Copyright © GREE, Inc. All Rights Reserved. 自己紹介 酒井駿介 グリー株式会社 / Artグループ テクニカルアーティスト Technical Artistチームにて、3Dアートア セットパイプラインの構築や、シェーダ開 発、処理負荷の最適化などの業務を行う。
  • 4. Copyright © GREE, Inc. All Rights Reserved. 本講演のテーマ アーティストのための プログラマブルシェーダ講座
  • 5. Copyright © GREE, Inc. All Rights Reserved. 本日の内容 1. プログラマブルシェーダ スターターガイド 2. 今すぐ使える! シェーダテクニック 3. まとめ 4. QA
  • 6. Copyright © GREE, Inc. All Rights Reserved. プログラマブルシェーダ スターターガイド 基本編
  • 7. Copyright © GREE, Inc. All Rights Reserved. シェーダって? 3Dグラフィックを描画するための コンピュータプログラム。
  • 8. Copyright © GREE, Inc. All Rights Reserved. どんなことができるか? • キャラクターや背景の見た目をかっこよ くできる • ツールの限界を超えられる • イケてるUIが作れる • 処理を軽くできる(場合もある)
  • 9. Copyright © GREE, Inc. All Rights Reserved. シェーダの開発環境 ライブラリ 言語 DirectX HLSL OpenGL GLSL ゲームエンジン / ミドルウェア ツール Unity Shader Lab Unreal Engine Material Editor Maya / Stingray Shader FX など
  • 10. Copyright © GREE, Inc. All Rights Reserved. スクリプト or ノード 重要なのは、レンダリングパイプラインだ!
  • 11. Copyright © GREE, Inc. All Rights Reserved. レンダリングパイプライン 3Dデータが2D画像として 描画される手順のこと。 Vertex Stage ※わかりやすく省略したもの。 実際はグラフィックライブラリの種類やバージョンによって異なる。 Fragment Stage OM Stage
  • 12. Copyright © GREE, Inc. All Rights Reserved. Vertex Stage 頂点Vertexを処理するステージ
  • 13. Copyright © GREE, Inc. All Rights Reserved. Fragment Stage ピクセルごとに処理を行うステージ
  • 14. Copyright © GREE, Inc. All Rights Reserved. OM Stage 出力したピクセルの合成処理を 行うステージ (Output Merger)
  • 15. Copyright © GREE, Inc. All Rights Reserved. Unityでのシェーダの扱い • ShaderLab – Surface Shader – Vertex and Fragment Shader – Fixed Function Shader • HLSL or GLSLで.shaderファイルを記述 • マテリアルにShaderを指定して使う
  • 16. Copyright © GREE, Inc. All Rights Reserved. Surface Shader / Vertex and Fragment Shader • Surface Shader – ライトの処理を行う場合 (キャラクターモデルなど) – Unity5から物理ベースのシェーダタイプに • SurfaceOutputStandard • SurfaceOutput • Vertex and Fragment Shader – ライトの処理を行わない場合 (UIなど)
  • 17. Copyright © GREE, Inc. All Rights Reserved. Built In Files ビルトインのShader関連ファイルが 含まれる。 • Shaderファイル(.shader) • ライブラリファイル(.cginc)
  • 18. Copyright © GREE, Inc. All Rights Reserved. 今すぐ使える! シェーダテクニック 実践編
  • 19. Copyright © GREE, Inc. All Rights Reserved. 半球シェーダ 頂点の位置をカメラからの距離に応じて変 更し、背景モデルを半球のような見た目に する。
  • 20. Copyright © GREE, Inc. All Rights Reserved. 半球シェーダ
  • 21. Copyright © GREE, Inc. All Rights Reserved. リムライティング モデルの輪郭を光らせる手法
  • 22. Copyright © GREE, Inc. All Rights Reserved. リムライティング dot関数を使いこなすのがポイント! 方向ベクトル 法線ベクトル との状態 結果 Directional Light 垂直 0 Camera 並行 1
  • 23. Copyright © GREE, Inc. All Rights Reserved. リムライティング
  • 24. Copyright © GREE, Inc. All Rights Reserved. デプスマスク デプスバッファ(深度情報)の書き込みは行 うが、カラーの出力は行わないシェーダ。
  • 25. Copyright © GREE, Inc. All Rights Reserved. デプスマスク
  • 26. Copyright © GREE, Inc. All Rights Reserved. Shader on UI UIの描画にもShaderが 使われている! • NGUI • uGUI Fragment Stage ↓ UV情報に手を加える ↓ 手を加えたUV情報を元 にテクスチャを取得 ↓ 結果を出力
  • 27. Copyright © GREE, Inc. All Rights Reserved. Shader on UI
  • 28. Copyright © GREE, Inc. All Rights Reserved. ポストエフェクト フレームバッファ生成 ↓ もう一度レンダリング パイプラインへ ↓ Vertex / Fragment Stageにて処理 ↓ 結果を出力
  • 29. Copyright © GREE, Inc. All Rights Reserved. ポストエフェクト
  • 30. Copyright © GREE, Inc. All Rights Reserved. まとめ • 使いみちは3Dだけじゃない • エンジン・ツールの限界を突破できる • レンダリングパイプラインさえわかれば、 異なる言語や開発環境でも 同じ ”考え方” ができる
  • 31. Copyright © GREE, Inc. All Rights Reserved. アートの力で モバイルゲーム市場を 盛り上げていきましょう!
  • 32. Copyright © GREE, Inc. All Rights Reserved. QA 1. プログラマブルシェーダ スターターガイド 2. 今すぐ使える! シェーダテクニック 3. まとめ 4. QA