質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

4946閲覧

Unityの3Dにおけるシェーダーでアウトライン

SNT

総合スコア7

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2015/09/17 16:06

編集2015/09/17 16:13

初心者の質問失礼致します。
シェダーのスクリプトの書き方が分からず悩んでおります。

やりたい事としましては以下のURLの内容そのままとなります。
Unityでステンシルを用いたアウトライン表現

スクリプトも提示頂いており、分かる方には分かり易いと思うのですが、ちょっと初心者には敷居が高く、、、

シェーダーのスクリプトに落とし込むとどうなるのかと、
これは適用したいモデルのシェーダー1つに適用すれば良いのか?

という2点をどなたかご教示頂ければ幸いですm(__)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

「シェーダーのスクリプトに落とし込む」という件に関しては、引き合いに出ているページに書かれている記述で十分ではないかと思うので、足りないのは「ステンシルの機能と使い方についての理解」かと思います。(そもそもステンシル設定の記述もシェーダー記述の一部ですし。)

リアルタイム系のレンダラに実装される「ステンシル」は、別の表現で言えば「平面マスク」です。
それも単なるマスクではなく、「レンダラ計算を伴った自動マスク生成処理」というべきもので、表示したいオブジェクトを表示したい形に切り抜いたり、元の形を保ったりさせる為に利用されます。

ステンシルバッファの内容は(レンダリング処理中のオブジェクトについて各ピクセル単位に)画面へ書き込むか・書き込まないかを制御する為のマスク情報なので、基本的にバッファ1枚で全てのオブジェクトの描画管理をします。ですので、基本的には画面内の全オブジェクトのシェーダ設定が関与します。

とにかくステンシルには多数の動作モードがありそこから適切なモードを選ぶ必要があるので、機能を分かるまで動かしてみるか、Unityのレンダリング仕様を熟読して動作を把握しないことには、はじまらないと思います。
まずはUnityのページ:ShaderLab: ステンシルを読んで、例示されているシーンと同じものを実際に作りつつ、引き合いにされているページの設定の意味を知る必要があると思います。(細かいモードや動作についてはShaderLab文法:ステンシル / ShaderLab syntax: Stencilに書かれています。)

利用する機能やモードの意味が読み解ければ、疑問はあらかた解決されるように思います。

投稿2015/09/18 15:52

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問