Submit Search
Upload
知覚動考、とりあえずShaderを書いてみる
•
10 likes
•
7,749 views
onotchi_
Follow
UnityのShader構文であるShaderLabの簡単な解説
Read less
Read more
Technology
Report
Share
Report
Share
1 of 42
Recommended
Unityでアニメ風プロ生ちゃん!
Unityでアニメ風プロ生ちゃん!
onotchi_
Unity C#3からC#6に向けて
Unity C#3からC#6に向けて
onotchi_
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
ARC SYSTEM WORKS
Unity道場aseスペシャル補足資料
Unity道場aseスペシャル補足資料
小林 信行
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
小林 信行
Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!
Yamato Honda
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
小林 信行
初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで
Unity Technologies Japan K.K.
Recommended
Unityでアニメ風プロ生ちゃん!
Unityでアニメ風プロ生ちゃん!
onotchi_
Unity C#3からC#6に向けて
Unity C#3からC#6に向けて
onotchi_
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
ARC SYSTEM WORKS
Unity道場aseスペシャル補足資料
Unity道場aseスペシャル補足資料
小林 信行
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
小林 信行
Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!
Yamato Honda
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
小林 信行
初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで
Unity Technologies Japan K.K.
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
小林 信行
Unityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
Unite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniax
小林 信行
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
Unity Technologies Japan K.K.
UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発
Takashi Yoshinaga
50分でわかるブループリントについて
50分でわかるブループリントについて
Masahiko Nakamura
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
小林 信行
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章
yaju88
Powerful of blueprint visual scripting
Powerful of blueprint visual scripting
Masahiko Nakamura
猫でもわかるUnreal Engine4
猫でもわかるUnreal Engine4
pafuhana 1213
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
小林 信行
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
Ryohei Tokimura
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
Takashi Yoshinaga
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
UnityTechnologiesJapan002
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座
Unity Technologies Japan K.K.
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
maginemu Mishimagi
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
yaju88
Unitynetwork
Unitynetwork
Shinsuke Sugita
20130629 linkdraw
20130629 linkdraw
Toshikatsu Murakoshi
More Related Content
What's hot
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
小林 信行
Unityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
Unite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniax
小林 信行
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
Unity Technologies Japan K.K.
UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発
Takashi Yoshinaga
50分でわかるブループリントについて
50分でわかるブループリントについて
Masahiko Nakamura
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
小林 信行
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章
yaju88
Powerful of blueprint visual scripting
Powerful of blueprint visual scripting
Masahiko Nakamura
猫でもわかるUnreal Engine4
猫でもわかるUnreal Engine4
pafuhana 1213
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
小林 信行
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
Ryohei Tokimura
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
Takashi Yoshinaga
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
UnityTechnologiesJapan002
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座
Unity Technologies Japan K.K.
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
maginemu Mishimagi
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
yaju88
What's hot
(20)
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
Unityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Unite2017 tokyo toonshadermaniax
Unite2017 tokyo toonshadermaniax
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
UnityとVuforiaで始めるAR開発
UnityとVuforiaで始めるAR開発
50分でわかるブループリントについて
50分でわかるブループリントについて
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章
Powerful of blueprint visual scripting
Powerful of blueprint visual scripting
猫でもわかるUnreal Engine4
猫でもわかるUnreal Engine4
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
ゲームデザイナーのためのキャラクター表現&コンセプトメイキング:抜粋版
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
ARコンテンツ作成勉強会:使ってみようSmartAR 基礎から支援ツール活用まで
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
Similar to 知覚動考、とりあえずShaderを書いてみる
Unitynetwork
Unitynetwork
Shinsuke Sugita
20130629 linkdraw
20130629 linkdraw
Toshikatsu Murakoshi
Cerebro for VFX / Animation Japan
Cerebro for VFX / Animation Japan
CineSoft
DoGA-L3でお手軽モデリング
DoGA-L3でお手軽モデリング
K Moneto
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
Yusuke Ando
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
ITDORAKU
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
Kazumi IWANAGA
Unity 名古屋セミナー [Sprite Studio]
Unity 名古屋セミナー [Sprite Studio]
MakotoItoh
2017 0824 io tlt勉強会_掲載用
2017 0824 io tlt勉強会_掲載用
yasuyuki_suzuki
ワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作る
Risa Yuguchi
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
CRI Japan, Inc.
Windows phone!そういうのもあるのか
Windows phone!そういうのもあるのか
信之 岩永
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
Satoshi Yamafuji
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
Web Technology Corp.
object detection with lidar-camera fusion: survey
object detection with lidar-camera fusion: survey
Takuya Minagawa
Visual Studio Code あれこれ
Visual Studio Code あれこれ
Shun Ishii
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Takahiro Miyaura
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
Takaaki Ichijo
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Takahiro Miyaura
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
Takahiro Miyaura
Similar to 知覚動考、とりあえずShaderを書いてみる
(20)
Unitynetwork
Unitynetwork
20130629 linkdraw
20130629 linkdraw
Cerebro for VFX / Animation Japan
Cerebro for VFX / Animation Japan
DoGA-L3でお手軽モデリング
DoGA-L3でお手軽モデリング
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
Unity 名古屋セミナー [Sprite Studio]
Unity 名古屋セミナー [Sprite Studio]
2017 0824 io tlt勉強会_掲載用
2017 0824 io tlt勉強会_掲載用
ワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作る
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
Windows phone!そういうのもあるのか
Windows phone!そういうのもあるのか
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
GTMF2012 SpriteStudio と "Unity" と "CoronaSDK" と "ngCore" ! ~組み合わせて改善する 2D ワーク...
object detection with lidar-camera fusion: survey
object detection with lidar-camera fusion: survey
Visual Studio Code あれこれ
Visual Studio Code あれこれ
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
Indie Stream Fes 2014 ツール・ミドルウェア出展3社セッション!
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
Recently uploaded
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Recently uploaded
(10)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知覚動考、とりあえずShaderを書いてみる
1.
知覚動考、 とりあえずShaderを書いてみる #11
2.
自己紹介 オノッチ @onotchi_ 仕事:業務システム開発 趣味:Unityいじり コミュニティ: Fukuoka.NET(ふくてん) プログラミング生放送 使用言語:C#,VB.NET
3.
プログラミング生放送 ・IT、開発系のコミュニティ ・マスコットキャラはプロ生ちゃん ファンクラブもあります 2D,3D,Voice等様々な素材が公開されている
4.
プロ生ちゃん VNext
5.
シェーダー関連で作った/解説したもの Onoty3D http://onoty3d.hatenablog.com/
6.
前置きここまで
7.
レンダリング Unity のレンダリングはマテリアルとシェーダーとテクスチャによって行われる マテリアル: 使用するシェーダー、テクスチャ、その他パラメータ値を含み、どの ようにモデル表面を描画するかを定義したもの シェーダー: 光源入力とマテリアル設定をベースにして、ピクセル毎の描画色を決 定するための数学的な計算とアルゴリズムを内包したスクリプト テクスチャ: ビットマップ画像。使い方によって基本色以外にも反射率や粗さ等、 マテリアル表面のさまざまな要素を設定できる
8.
シェーダーによる見た目の違い Diffuse Standard Unlit
UnityChan Toon
9.
シェーダーは沼
10.
知覚動考、 とりあえずShaderを書いてみる #11
11.
知覚動考 知って→覚えて→動いて→考える まずは それから
12.
シェーダーの構成 Shader "MyShader" { Properties
{ // } SubShader { // } SubShader { // } … Fallback "OtherShader" CustomEditor "EditorScript" }
13.
ShaderLab Shader "Name" {
[Properties] SubShader(s) [Fallback] [CustomEditor] } Unityのすべてのシェーダーは、ShaderLab という宣言型言語で記述されている ※SabShader内部は種類によりCg/HLSLで記述される
14.
Name シェーダーの名前。 “/”で区切ると階層化される。 Shader "Onoty3D/ChromaKey"
15.
Properties プロパティ名(“表示名”, 型名) =
初期値
16.
Properties Properties { _MyInt("MyInt", Int)
= 0 _MyFloat("MyFloat", Float) = 0 _MyColor("MyColor", Color) = (1,1,1,1) //(1,1,1), "white","black","gray","bump" _MyVector("MyVector", Vector) = (1,1,1,1) //(1,1,1) _My2D("My2D", 2D) = "" {} _MyCube("MyCube", Cube) = "" {} _My3D("My3D", 3D) = "" {} _MyRect("MyRect", Rect) = "" {} _MyRange("MyRange", Range(0,1)) = 0.5 [Enum(A,0,B,1,C,2)] _MyEnum(“MyEnum”, Int) = 1 //最大7個 [KeywordEnum(A, B, C)] _MyKeywordEnum("MyKeywordEnum", Int) = 2 //最大9個 [Toggle] _MyToggle("MyToggle", Int) = 0 // 0:False/1:True [MaterialToggle] _MyMaterialToggle("MyMaterialToggle", Int) = 0 // 0:False/1:True } //[HideInInspector] マテリアルインスペクターでプロパティ値を非表示 //[NoScaleOffset] マテリアルインスペクターのtiling/offset欄を非表示
17.
Properties _MyInt("MyInt", Int) =
0 _MyFloat("MyFloat", Float) = 0 _MyColor("MyColor", Color) = (1,1,1,1) //(1,1,1), "white","black","gray","bump" _MyVector("MyVector", Vector) = (1,1,1,1) //(1,1,1) _My2D("My2D", 2D) = "" {} _MyCube("MyCube", Cube) = "" {} _My3D("My3D", 3D) = "" {} _MyRect("MyRect", Rect) = "" {}
18.
マテリアルインスペクター
19.
Properties _MyRange("MyRange", Range(0,1)) =
0.5 [Enum(A,0,B,1,C,2)] _MyEnum(“MyEnum”, Int) = 1 //最大7個 [KeywordEnum(A, B, C)] _MyKeywordEnum("MyKeywordEnum", Int) = 2 //最大9個 [Toggle] _MyToggle("MyToggle", Int) = 0 // 0:False/1:True [MaterialToggle] _MyMaterialToggle("MyMaterialToggle", Int) = 0 // 0:False/1:True //[HideInInspector] マテリアルインスペクターでプロパティ値を非表示 //[NoScaleOffset] マテリアルインスペクターのtiling/offset欄を非表示 http://docs.unity3d.com/ja/current/Manual/SL-Properties.html
20.
マテリアルインスペクター 更にオリジナルの表示を行いたい場合は CustomEditorでエディタ拡張スクリプトを指定する
21.
シェーダーからプロパティ値の参照 プロパティ _MyFloat("MyFloat", Float) =
0 ShaderLab内: [_MyFloat]で参照可能 Cg/HLSL内: float _MyFloat; プロパティ名と同名の変数を宣言すると、その変数に値がセットされる Intプロパティは、int型に対応 Floatプロパティは、float、half、fixed型に対応 Color、Vectorプロパティは、float4、half4、fixed4型に対応(2,3もある) Textureプロパティは、sampler2D、sampler3D変数に対応
22.
型と精度 高精度: float 32 ビット 中精度:
half 16 ビット (-60000 から +60000 の範囲で、小数点以下約 3 桁) 低精度: fixed 固定小数点数。11 ビット (-2.0 から +2.0 の範囲、1/256 精度) デスクトップGPUは、常にすべての事を完全な浮動小数点数精度で計算 half/fixed の精度で十分かどうかの検証はモバイルデバイスで行う必要がある
23.
SubShader Shader "MyShader" { SubShader
{ // } SubShader { // } … Fallback "OtherShader" } SubShaderは上から順に試行され、実行できるサブシェーダー がない場合、Fallbackで指定されたShaderを試す
24.
SubShader Subshader { [Tags]
[CommonState] Passdef [Passdef ...] }
25.
Tags いつどのようにして レンダリングエンジンでレンダリングするかを示す Tags {"Queue"="Geometry" "RenderType"="Opaque"
} http://docs.unity3d.com/ja/current/Manual/SL-SubShaderTags.html
26.
CommonState 状態を設定する Cull Back |
Front | Off ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always) http://docs.unity3d.com/ja/current/Manual/SL-Pass.html
27.
Pass シェーダの種類によって記述も変わる Unityで使えるシェーダは3種類 固定関数シェーダー サーフェスシェーダー 頂点およびフラグメントシェーダー
28.
固定関数シェーダー プログラミング可能な他シェーダーをサポートしていない 古いハードウェア向け あまり凝ったことは出来ない
29.
サーフェスシェーダー 複雑なライティング・シャドウ計算はUnity側に任せ、 表面の材質の描画だけを記述
30.
頂点およびフラグメントシェーダー 全部やりたい人用
31.
Shader "Onoty3D/ChromaKey" Shader "Onoty3D/ChromaKey"
{ Properties{ _KeyColor("Key Color", Color) = (0,1,0) _Near("Near", Range(0, 2)) = 0.2 _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader{ Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } CGPROGRAM #pragma surface surf Lambert alpha:fade sampler2D _MainTex; fixed3 _KeyColor; fixed _Near; struct Input { float2 uv_MainTex; }; void surf(Input IN, inout SurfaceOutput o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); clip(distance(c, _KeyColor) - _Near); o.Albedo = c.rgb; o.Alpha = c.a; } ENDCG } Fallback "Transparent/Diffuse" }
32.
Shader "Onoty3D/ChromaKey" Properties{ _KeyColor("Key Color",
Color) = (0,1,0) _Near("Near", Range(0, 2)) = 0.2 _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} }
33.
Shader "Onoty3D/ChromaKey" SubShader{ Tags{ "Queue"
= "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } CGPROGRAM #pragma surface surf Lambert alpha sampler2D _MainTex; fixed3 _KeyColor; fixed _Near; struct Input { float2 uv_MainTex; }; void surf(Input IN, inout SurfaceOutput o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); clip(distance(c, _KeyColor) - _Near); o.Albedo = c.rgb; o.Alpha = c.a; } ENDCG }
34.
Shader "Onoty3D/ChromaKey" SubShader{ Tags{ "Queue"
= "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } CGPROGRAM #pragma surface surf Lambert alpha sampler2D _MainTex; fixed3 _KeyColor; fixed _Near; … ENDCG }
35.
#pragma surface ディレクティブ #pragma
surface surfaceFunction lightModel [optionalparams] surfaceFunction : サーフェス関数 lightModel: Lambert (デフューズ) と BlinnPhong (スペキュラ) Standard, StandardSpecular optionalparams: 透明度,カスタムモディファイア関数の指定等々 alpha, vertex:VertexFunction http://docs.unity3d.com/ja/current/Manual/SL-SurfaceShaders.html
36.
Shader "Onoty3D/ChromaKey" struct Input
{ float2 uv_MainTex; }; void surf(Input IN, inout SurfaceOutput o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); clip(distance(c, _KeyColor) - _Near); o.Albedo = c.rgb; o.Alpha = c.a; }
37.
SurfaceOutput struct SurfaceOutput { fixed3 Albedo;
// diffuse color fixed3 Normal; // tangent space normal, if written fixed3 Emission; half Specular; // specular power in 0..1 range fixed Gloss; // specular intensity fixed Alpha; // alpha for transparencies }; http://docs.unity3d.com/ja/current/Manual/SL-SurfaceShaders.html
38.
組み込み関数 CG ftp://download.nvidia.com/developer/cg/Cg_Users_Manual_JP.pdf HLSL https://msdn.microsoft.com/ja-jp/library/bb509611(v=vs.85).aspx
39.
面白いシェーダ演出 DotArtEffect http://stereoarts.jp/
40.
面白いシェーダ演出 アニメパース効果 http://dofilabs.blogspot.jp/2015/11/unity.html
41.
面白いシェーダ演出 ブラウン管風シェーダー http://notargs.com/blog/?p=915
42.
ビルトインシェーダー/イメージエフェクト