ふと思ったのですが、実験的にクリエイティブコーディングをした際に、人に見せられるレベルまで落とし込んでgithubにアップした方が自分の資産や実績にもなるし、なんとなくでもいいので解説をnoteで書いたら備忘録にもなるかなと思ったので、今後はできるだけそうしてみようと思います。 というわけで、以前Twitterなど各種SNSで投稿していましたが、簡易的なグリッチを使ったコンテンツを作ったので、githubにアップしました。(jsは相変わらずCoffeeScriptで書いています。あしからず。。) githubページも作ったので、実際にブラウザで見ることもできます。ただし、スマホに最適化はしてません。コンテンツはthree.jsを使用しています。 githubページ、実は初めて使った。。 グリッチを使ったコンテンツを3種類作ったのですが、それぞれブランチを切っております。 コンテンツはgul
[連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(最終回)WebGLGLSL まずは挑戦してみよう シェーダを自分でコーディングするなんて…… きっとお難しいんでしょ…… と、お思いの奥様方。そんなことはないんです。コツをつかめば意外と楽しめます。当連載では、シェーダというものに対して抱かれてしまいがちな、漠然とした 難しそう感 を払拭すべく、簡単なシェーダの記述とその基本について解説したいと思います。 前回:[連載]やってみれば超簡単! WebGL と GLSL で始める、はじめてのシェーダコーディング(9) - Qiita 想定する読者 当連載では、シェーダってなんか難しそう……とか、シェーダプログラミング始めてみたいけど……とか、なんとなく興味を持ってるけどシェーダを記述したことがない方を読者に想定しています。 たとえば Unity な
フラグメントシェーダのプログラムだけで円や四角形、市松模様などの図形を描くことができます。ここではUnityで使うことを想定して、フラグメントシェーダで描ける図形を10種類集めてみました。図形を作るための方法も解説しているので、参考になればと思います。 フラグメントシェーダでかけるのは単純な図形だけですが、簡単な図形でも組み合わせ方によっては株札みたいでカッコ良くなりますよ。 今回紹介するフラグメントシェーダで描ける図形には次のようなものがあります。10種類といいつつ、アニメーションも混じっていますが、そこは大目に見て下さい(^^;) シェーダを作る準備をする 2色に塗り分ける 線を引く 円を描く アンチエイリアスな円 輪を描く 輪の数を増やす 輪を動かす ストライプを書く 市松模様を描く 四角を描く 図形を複製してパターンを描画する シェーダを作る準備をする まずは、シェーダで図形を描く
自分用にいろいろなサイトからshaderの基本的なことをまとめました。 はじめに ShaderLabの構造 Fixed Function Shaders (固定機能シェーダ) Surface Shaders (サーフェイスシェーダ) プロパティ(少しだけ) CGPROGRAM サーフェスシェーダ宣言 プロパティへの参照 Input構造体 サーフェス関数 FallBack テッセレーション Vertex and Fragment Shaders (頂点/フラグメントシェーダ) 頂点シェーダ宣言 フラグメントシェーダ宣言 頂点シェーダ関数 フラグメントシェーダ関数 プロパティで宣言した変数へのアクセスについて インクルードファイルについて(特にUnityCG.cginc) UnityCG.cginc 組み込み変数、行列について Shader Labについて プロパティ(Properties)
STEP1. コマンドバッファ まずはコマンドバッファのソースから! using UnityEngine; using UnityEngine.Rendering; [RequireComponent(typeof(Camera))] public class CommandBufferPostEffect : MonoBehaviour { //イメージエフェクトかけたいshader [SerializeField] private Shader _shader; private void Awake() { Initialize(); } private void Initialize() { var camera = GetComponent(); var material = new Material(_shader); //コマンドバッファのインスタンス化 var command
マグマが広がるような表現を作る方法を解説します。 サンプル ShaderGraphExample/Assets/ShaderGraphExample/16_MagmaRipple at master · rngtm/ShaderGraphExample · GitHub ざっと解説 座標(X, Y, Z)のXZ成分を取り出し、座標(0, 0)からの距離をとります。 この距離を使って波を作っています。 シェーダーグラフを作る STEP0 : 板オブジェクトとUnlitシェーダーグラフの準備 Unity標準のPlaneオブジェクトを作り、これにUnlitシェーダーグラフから作ったマテリアルを適用しておきます。 STEP1 : Distanceノードを使って原点(0,0)からの距離をとる 以下のようにノードをつなぎます。 原点(0,0)からの距離が板の色に反映されるようになりました。 STEP2
BOOTHでの頒布開始しています。が、記事を書く時間的余裕が全然ない! もうしばらくお待ちを〜(2018/10/18) Unityシェーダープログラミングの教科書2【反射モデル&テクスチャマップ編】(via BOOTH) https://booth.pm/ja/items/1032141 シェーダープログラミングにおいて自由な質感表現を実現するには、光源から放射された光が、物質の表面上にどのように反射して視点に到達するかを計算する必要があります。このような計算式を「反射モデル」と呼び、フォトリアル/トゥーンレンダリングにかかわらず、すべてのシェーダープログラミングの基礎となっています。 本書では、反射モデルについてもっとも基本となるランバート反射モデルからはじめて、徐々により高度な物に進み、近年のAAAタイトルなどで採用されている物理ベースレンダリング(PBR)について解説します。それぞれ
2024-05-07 #UEFN #Verse 失敗許容関数内では明示的なreturnが出来ないルールについて UEFN Verse ゲーム開発 Unreal Engine 現在、5月25日から始まる技術書典に向けてVerse本の紙版リリースの準備を進めているのですが、無限に続く寒暖差のせいで体調が思わしくなくピンチでやばばです。頑張ります。 今回はそのVerse本に追記しようと思っているネタです。 問題編 キッカケは、ご… 2024-04-13 #UEFN #Verse 3/28の"Ask Epic: Verse"で面白かった回答ピックアップ(延長戦1:型システム編) UEFN Verse ゲーム開発 ゲームエンジン Ask Epic:Verse回答祭りの延長戦です。今回紹介する2つの質問は「この機能は採用予定がありますか?」「ないです。何故なら……」という物で、コーディングにおいて直接
レイマーチング(ray marching)と呼ばれる手法を用いて以下のような絵を作ってみました。 目次 目次 サンプル レイマーチングのざっくりとした解説 準備 : レイマーチングを行うカスタムノードの作成 レイマーチングを行うカスタムノード 2018-12-05追記 カスタムノードの詳細 カスタムノードのメニュー位置 とりあえずカスタムノードを使ってみる レイマーチングのカメラ位置を動かしてみる カメラの向きを変えてみる レイマーチングで遊んでみた ノード全体 ノード解説(左側) ノード解説(右側) 陰影を付けてみる シーンカメラとレイマーチングカメラを同期させてみる シェーダーグラフの設定 カメラ位置をシェーダーグラフへコピーするC#スクリプト 再生ボタンを押してカメラ同期 C#スクリプト制御でカメラを動かしてみる サンプル github.com レイマーチングのざっくりとした解説 カ
I recently started playing with shaders in three.js and I wanted to share some of what I’ve discovered so far. Shaders are the ‘secret sauce’ of modern graphics programming and understanding them gives you a lot of extra graphical fire-power. For me the big obstacle to learning shaders was the lack of documentation or simple examples, so hopefully this post will be useful to others starting out. T
LED Dot Matrix Effect for Three.js by @felixturner
はじめに 過去幾つかの記事でディファードシェーディングのレンダリングパスで G-Buffer を色々いじることをやってきました。その際、G-Buffer に与える出力は適当な値を与えてきましたが、実際はもう少し真面目にやらなければなりません。というのも本来はエミッションのバッファにはエミッシブ値以外にもアンビエントや、ライトプローブ、GI といった事前計算された情報も書き込まれているからです。 デファードシェーディングレンダリングパス - Unity マニュアル 例えば Anbient Intensity を変えてみると良くわかります。球が前回と同じくレイマーチで作成した球、床や立方体はデフォルトのマテリアルを使用しています。球のエミッションバッファの値は 0.0 になっています。 一方、スタンダードサーフェスシェーダを利用するとこのようにはならず、適切にライティングされます。しかしながら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く