読者です 読者をやめる 読者になる 読者になる

Index

最新情報 (2017/02/25)入門記事の第1回~第4回まで書きました。UnityShader入門 記事一覧 - UnityShader 入門 入門コンテンツ UnityShader入門記事 一覧 ぴくせるちゃん シェーダーサンプル ShadowMap GrabPass イメージエフェクト ステンシル ComputeShader…

第4回.Post-processing Stackを使う

●はじめに 前回はイメージエフェクトの使い方を簡単に説明しました。 今回はPost-processing Stackの使い方を説明します。 ●Post-processing Stackとは? Unityのイメージエフェクトは効果を一つずつ追加していくタイプでした。この方法は、必要なエフェクト…

第3回.イメージエフェクトを使う

●はじめに 今回はイメージエフェクトについて解説します。 ●イメージエフェクト(ImageEffect)とは? 一言でいえば「画面全体に掛かる効果」のことです。ポストプロセス(PostProcess)と呼ばれることも多いです。 アニメでは撮影、映画ではコンポジットなどと…

第2回.Standard Shaderを使う

●はじめに 今回はUnity5から導入された、Standard Shaderの使い方を解説していきます。 ●Standard Shaderってなんですか? 一言でいえば、何でも描ける万能のShaderです。 Unity4以前は、DiffuseShaderやTransparentShaderなど大量のShaderがあり、Material…

UnityShader入門 記事一覧

入門記事ではなるべくわかりやすく、最初から丁寧に説明することを心がけます。 第5回.スクリプト(C#)からマテリアルの設定をする 第6回.初めてのSurface Shader 第7回.Unityのサンプルを解説 未定

第1回.Unityのマテリアルとシェーダー

●はじめに 今回はUnityにおける「マテリアル」と「シェーダー」という二つの用語を解説します。 ●マテリアル(Material) マテリアル(Material)は日本語にすると「素材」「原料」などの意味になります。例えば木の椅子であれば、素材は木ですので、木=マテリ…

HoloLensファーストインプレッション

HoloLens買いました。5-6時間ほど装着してみた感想です。 色んな項目を☆の数(最大5個)で評価してみます。 画質 ☆☆☆~☆☆☆☆ 解像度 ☆☆☆☆☆ 解像度はかなり高く見えます。現行のVR(Vive,Oculus,PSVR)に比べるとピクセルが4倍~8倍くらいに増えた感じがします。 …

頂点空間表面下散乱(VSSS:Vertex Space Subsurface Scattering)

最近色々忙しくて全然更新できていませんでしたが、 ちょうどいいネタを思いついたのと、アドカレが期限超過で1枠空いてたので代わりに投下します。 実装に丸1日、記事書くのに1日くらいかかりました。 目次 表面下散乱(Subsurface Scattering)とは? SSSで…

液タブを安く(2万ちょい)簡単に作る方法

はじめに Unityとは全然関係ありませんが(ペンタブのVR化とかはやったけど)、1週間くらい前 togetter.com が話題になりましたね。私は空気が読めない男なので、冗談を真に受けてリアルに作ってみました。 用意するもの 時間 スムーズにいけば90分、普通なら…

Unityの価格改定について検証してみた

はじめに Unityの価格改定が6月頭に発表されましたが、様々な意見を受け、更に修正が入ったようです。 blogs.unity3d.comどのユーザーにとって値下げ、あるいは値上げになるのか、計算してみることにしました。Unity5の各永久ライセンス価格を194,400円、ア…

HoloLensについて考えたこと

はじめに 【イベントレポート】【速報】Microsoft、HoloLensの技術「Windows Holographic」をパートナーに公開 - PC Watch にある通り、Microsoft以外のメーカーでもHoloLensのようなデバイスが作れるようになるようです。これによりバッテリーをたくさん積…

BlenderなどのDCCツールからVR空間に3Dモデルを転送して立体的に観察しながらモデリングする方法

前回 HTC ViveでペンタVR上でクリスタが使えるように改良する その3(DesktopCaptureが頻繁に落ちるのを修正する) - Unityシェーダ入門 HTC ViveでペンタVR上でクリスタが使えるように改良する その2(解像度問題の解決策を模索する編) - Unityシェーダ…

HTC ViveでペンタVR上でクリスタが使えるように改良する その3(DesktopCaptureが頻繁に落ちるのを修正する)

前回 その1 HTC ViveでペンタVR上でクリスタが使えるように改良する - Unityシェーダ入門 その2 HTC ViveでペンタVR上でクリスタが使えるように改良する その2(解像度問題の解決策を模索する編) - Unityシェーダ入門 はじめに 前回までは Unity で Deskto…

HTC ViveでペンタVR上でクリスタが使えるように改良する その2(解像度問題の解決策を模索する編)

前回 その1=>HTC ViveでペンタVR上でクリスタが使えるように改良する - Unityシェーダ入門 はじめに 前回あまりにも適当だったので、今回はシェーダーも絡めてペンタVRをさらに実用的なものにします。 ミップマップを有効にする 前回の仕組みでは、テクスチ…

HTC ViveでペンタVR上でクリスタが使えるように改良する

はじめに Viveが来たんですよ!Viveが!さて、今回はわっふるめーかー氏=>waffle_maker@TBA (@waffle_maker) | Twitterが開発した『ペンタVR』に関して、 少ない手間で大きな成果をあげられそうなことを思いついたので、実験してみました。 (今回開発したも…

SurfaceShaderやImageEffectを改造してお手軽トゥーン表現

このコンテンツは、『ユニティちゃんライセンス』で提供されています この記事は Unity 2 Advent Calendar 2015 - Qiita の13日目の記事です。 12日目はtnayukiさんの「知る人ぞ知るUnity 5のネイティブオーディオプラグインについて - Qiita」でした。 ●は…

iPadPro + ApplePencilレビュー

iPadProとApplePencilを購入して少し具合がわかってきたので、Cintiq24HDとの比較をしてみます。 ペンのズレ Cintiqではペン先と表示面の間に結構な厚みがあり、調整しても1mm以上ズレます。ペンの傾きによってもズレ量が変わります。 ApplePencilではそうい…

Ray-Based TemporalReprojection for ScreenSpaceReflection

概要 Stochastic Screen-Space Reflectionsでは、サンプル数を増やすためにTemporalReprojectionが使われています。 しかし普通のTemporalReprojectionを使うと、平行移動時に歪みが発生してしまうので、特別なReprojectionをしているようです。 この資料の…

ゲームグラフィクスアルゴリズム資料一覧

(最終更新:2015/09/27) ゲームグラフィクスに興味のある人向けに資料を分類して集めました。 新しいの見つけたら増やしたり分類し直したりします。※以下は応用的な内容なので、復習も兼ねて基礎的なアルゴリズム(CG数学、パイプラインとかシャドウマップ…

ステレオレンダリングの効率化

自分で計算しようかと思ってましたが、すでに考え付いてた人がおりましたので、ただの紹介です。When there's no need to render twice | Stereoscopic 3D | Oculus VR Forums 平均的なIPDの場合、52m以上離れると差が1ピクセル未満になるようですので、左目…

Unityでドット絵シェーダ その3

このコンテンツは、『ユニティちゃんライセンス』で提供されています 前回のドット絵シェーダはスクリプトからドット粒度を変えられるようになりましたが、 ドットの粒度が画面全体ですべて同じになってしまうという特徴(欠点)がありました。 これではカメ…

Unityでドット絵シェーダ その2

このコンテンツは、『ユニティちゃんライセンス』で提供されています Unity5のフリー版が発表されましたね。 Unity4の無料版では使えなかったImageEffectが使えるようになっていますので、かなり表現の幅が広がったのではないかと思います。 というわけで前…

Unityでドット絵シェーダ

このコンテンツは、『ユニティちゃんライセンス』で提供されています Blenderでドット絵シェーダを作っている方がいましたので、Unityで実装方法考えてみました。 ドット絵シェーダー v1.0 - 3Dモデルをドット絵風に描画するシェーダーが公開!試行錯誤した…

Unityシェーダ入門 #006 FowardRenderingでの影

UnityのForward Renderingでは1つのDirectional Lightからのみ、リアルタイム影を落とすことが出来ます。影をカスタマイズしたい場合があるので、処理の流れをまとめてみました。 1. シャドウマップを生成します。 QualitySettingのShadowCascadesによって、…

LPV(Light Propagation Volume) メモ

UE4のリアルタイムGIは重量級のSVOGI(SparseVoxelOctreeGI)ではなく、処理の軽いLPV(LightPropagationVolume)に変更され実装されているようです。 (UE4を採用しているFableLegendsのGI実装→Blog - Latest News from Lionhead : Dynamic Global Illumination …

リアルタイムレンダリング最初から その1

次世代機も出たタイミングで自分自身の知識の整理も兼ねて、レンダリング手法について何回かに分けてなるべくわかりやすくまとめてみます。 1.何もない世界 ゲームの世界には何も存在していませんので、何も見えません。 真っ黒なディスプレイが表示されてい…

2014年抱負

ああもう2014年になってしまいました。去年から始めたブログで、これまでは技術的なものがメインでしたが、Twitterでは書ききれない長文など、必ずしもUnityやCGに関係ないものも書いていこうかなと思います。 それでは今年の抱負です 1.イラスト描き 当初は…

UnityでOIT(Order Independent Tranceparency)

通常半透明オブジェクトをレンダリングする際には、ソート(奥から手前に向かって)が必要になります。しかし、Unityではオブジェクト単位でのソートはしますが、ポリゴン単位でのソートは行いません。(Unityに限った話ではありませんが) 従って、正しく半…

Unityシェーダ入門 #005 Multiple Render Target

以下はUnity4.3.0f4、DX11で行っています。 1回のレンダリングで複数の値を出力するMRT(MultipleRenderTarget)をやってみます。手順は1.複数の値を出力するシェーダを作成する(SurfaceShaderではなく、展開されたシェーダじゃなきゃ駄目っぽい。やり方が今の…

Unityシェーダ入門 #004 Replaced Shader

通常ユーザが編集するSurface Shaderは、画面上に見える部分の色や形を変えることが出来ます。しかし、シェーダが使われるのは直接画面に見える部分だけではありません。1.シャドウマップレンダリング用シェーダ(影を落とすためのシェーダ) 2.影かどうか判…

Unityでの半透明オブジェクトの描画順序の変更

ガラスなどの半透明オブジェクトの内側に、さらに半透明のオブジェクトなどがある場合に、Unityが描画順序を正しくソートしてくれない事があります。正しい描画順序が予め決まっている場合(例えばガラスビンの中の液体など)は、シェーダーを少しカスタマイ…

ZBrushでのテクスチャ作成メモ

Blenderで作成したモデルのテクスチャをZBrushを用いて作成する。 Blender 1.モデリング 2.UV展開(Smart UV Project機能) 3.OBJ形式でモデルをエクスポート ZBrush 4.Toolにインポート5.Tool > TextureMap > CreateのNew From~でテクスチャ作成 (解像度はTo…

Unityシェーダ入門 #003 #pragma debug

Unityシェーダ入門3回目です。 今回はUnityが標準で作成するサーフェイスシェーダと、頂点シェーダ、フラグメントシェーダの関係を説明します。 #pragma debug 前回説明したコードの中に#pragmaというのが有りました。これはコンパイラに命令を出すためのキ…

Unityシェーダ入門 #002 サーフェイスシェーダ

Unityシェーダ入門2回目。 前回は大まかなグラフィックス処理の流れを説明しましたので、今回からソースコードを出して、具体的な内容に入っていきます。 プログラマブルシェーダ 前回紹介した頂点シェーダ、ラスタライズ、ピクセルシェーダですが、この中で…

Unityシェーダ入門 #001 グラフィックスパイプライン

これからUnityのシェーダについて、1から学べるように書いていきたいと思います。 ・グラフィックスパイプライン 画面に3Dキャラクターなどのモデルを表示する際、最初の材料としてポリゴンを受け取り、いくつかの流れ作業を経た最終結果として、ディスプレ…