1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unity シェーダーの簡単な割り当て方

Last updated at Posted at 2019-06-20

これから説明するのはプログラミング初心者向けの記事です。
「シェーダーって聞いたことあるけどどういうのか分からない」「使ってみたいけどどう使うのか分からない」という人向けの最低限の説明になります。ネットで調べると意外と初歩的なことが省かれていることが多くてつまずくことがありますよね。では早速いきましょう!

#そもそもシェーダーって?
シェーダーとは簡単に言うと「描画方法を記述したプログラム」です。
普通ゲームなどのオブジェクトはテクスチャなどで描画されますが、シェーダーを使うことで動的な描画などが可能になります!SFっぽい感じの光のラインが走るとかがイメージしやすいですかね。
またトゥーンシェーダー(セルシェーダー)という言葉も耳にするかと思います。これらもプログラミングで描画されます。
ようはゲームをリッチにすることができる代物です!

#アセットを使って試してみよう!
1.png
まずはシーンを作り、3Dオブジェクトからcubeを出しましょう。
2.png
今回はアセットストアにあるこちらのシェーダー
[https://assetstore.unity.com/packages/vfx/shaders/semi-transparent-outline-86481]
を使ってみたいと思います。こちらはアウトラインシェーダーですね。名前の通りアウトラインを描画するものです。
3.PNG
このファイルがインポートされました!
4.png
シェーダーのスクリプトを開くとこんな感じになってます。
書いてある内容は大体こんな感じです。

プロパティ情報 ・・・ Unityから情報を取得するために定義
関数宣言 ・・・ シェーダー処理で、呼ぶ関数を指定
変数宣言 ・・・ 「Unityからデータをうけとる」などの目的のため、変数を定義
頂点シェーダー ・・・ 頂点シェーダーの処理
フラグメントシェーダー・・・ フラグメントシェーダーの処理

初心者向けの内容なので詳しくは書きませんが[こちら]https://www.sejuku.net/blog/65234
の記事などが参考なるかと思います。

###割り当ててみます!
このアセットはマテリアルも作ってくれているのでただオブジェクトに投げるだけです!何も難しいことはありません!
5.png
こうなりました!あとは自分の好みに合わせてパラメータを調整するだけです!
6.png
個人的に中の白線がいらないので消して、アルファをいじって半透明にしてみました。
こういった描画をテクスチャで描くとなるとかなり手間が掛かったり、できないこともあるのでプログラムで書いてパラメータで調整できるのはとても便利ですね。
7.png
本来であれば、書いたシェーダースクリプトをマテリアルに当てる必要があるのでお忘れなく。

#まとめ

・シェーダーはプログラムで描くテクスチャ!
・シェーダーで表現の幅が広くなる!ゲームがリッチに!
・使うときはマテリアルにシェーダースクリプトを当ててからオブジェクトに割り当てる!

以上、超初心者向けの導入でした!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?