しゅみぷろ

プログラミングとか

Unity

Google Tangoで遊んでみた

はじめに 買っちゃった・・・ ということで、Google Tangoで遊んでみました。 とりあえずは Google Tango Unity Support Library Tutorial 上記リンクから色々読んだり、サンプルのプロジェクト動かしてみたりすると割とスッと使えるようになります。 InkPai…

Tessellationを用いたなんちゃってスカルプト

はじめに 何かが衝突した影響でモノが変形したり…といった表現は結構巷にあふれていて、その手法も様々です。 一番シンプルに思いつく実装方法といえば、衝突の際に実際にジオメトリを変形させることでしょうか? 今回は実際の頂点データを弄らず、GPUで頂点…

Why is it painted in multiple places?

Introduction esprog.hatenablog.com This is an answer to questions about InkPainter. Why is it painted in multiple places? You may encounter this situation while using InkPainter. Is this a bug? Please be relieved, it is not a bug but a spe…

What is "Property" of InkCanvas??

Introduction esprog.hatenablog.com This is an answer to questions about InkPainter. What is “property” ? InkCanvas which is a component of InkPainter. What should we put in this “Property”? … For this “property” input, the texture variable…

InkPainterがリリースされました

おしらせ InkPainterを正式にGitHubおよびAssetStoreで公開しました。 GitHub - EsProgram/InkPainter: Texture-Paint on Unity. Asset Store もともとUnityTexturePaintとして販売し、国内外様々な方から色々な意見、レビューをいただいていたのですが、あ…

雨の日のカメラを作る

はじめに カメラのレンズに雨が付着した感を出してみました。 ささっと作ったのですが、ちょっといい感じになったので自分で驚いてます。 雨粒が付着した部分は背景の映り込みが歪むようになっています。 Unity Standerd Assetに含まれるガラスシェーダーを…

法線に影響される液垂れの表現

はじめに 液垂れ表現についてです。 最近Switchばっかやってて全然更新してなかったので久しぶりにネタ消化。 液垂れの基本的な部分は過去記事で。 esprog.hatenablog.com esprog.hatenablog.com 今回は法線マップに影響させる部分について軽くメモしていき…

シンプルなMatcapシェーダーを書いてみる

はじめに UnityでMatcapシェーダー書いたのでメモ。 Matcapシェーダーは考え方とか実装がめちゃくちゃ簡単なので、シェーダーの勉強に良さそうです。 Matcapの特徴はとにかく軽量で良い感じに写実的な表現が行える上、実装が簡単なことだと思います。 Matcap…

UnityTexturePaint動画公開

UnityTexturePaintの簡単な紹介動画を公開しました。 最近ちょこちょこバグ取り修正を加え、FluidPaintのサンプルまでを含んだパッケージをAsset Storeで申請中です。 GitHubにはもう上がってるので、使ってみたい方は是非落としてみてください。 github.com

tex2Dでミップマップをサンプリングする際に端にノイズが出る

はじめに 画像のような感じで、ペイント時にブラシの端にノイズが乗ることがあります。 メインテクスチャとは別の、GenerateMipMapが設定されたテクスチャをShaderで収縮し表示すると起こるようです。 解決方法をとりあえずメモしておきます。 原因 理由は詳…

UnityTexturePaintがAssetStoreで公開されました

はじめに UnityTexturePaintがAsset Storeで公開されました! Asset Store : UnityTexturePaint 初めてのストア出品だったけど、特に滞りなく出すことができました。 Key Imageを描いてくださった@traitam様、お世話になりました。 また、ストア出展ですごく…

オブジェクト表面を垂れる液体表現 その2

はじめに ペイント後に垂らす処理 ロゴの表示演出(© UTJ/UCL) 複数色のテスト esprog.hatenablog.com オブジェクト表面を液体が垂れる表現をさせる試みの続きです。 前回の記事で基本的な部分を実装したのですが、複数の色をペイントすることが出来ないとい…

オブジェクト表面を垂れる液体表現 その1

はじめに 採用情報:仕事を読み解くキーワード24 - 23 もう一歩踏み込みたいより Splatoon動画の壁に塗ったインクが垂れるような表現がしたかったので作ってますというお話です。 まだまだ垂れる部分のアルゴリズムを試作中だったりしますが、ある程度形にな…

UnityTexturePaintのドキュメント公開

はじめに Asset Storeでの公開を夢見て、とりあえずドキュメント作らなきゃということでドキュメントを公開しました。 しゅみぷろ(このブログ)のサイドバーのリンクからUnityTexturePaintDocumentを辿ってもらえれば見れます。 Unity Texture Paint: Main Pa…

オブジェクトの一部のみ鏡面反射を行うようにする

はじめに オブジェクトにインクっぽいものを塗って、そのインク部分だけが反射するような表現がしたかったので作りました。 多用は出来ませんが、数カ所こういった特徴的な表現ができるとゲームがかなり尖ります(と思います。 UnityTexturePaintを利用してい…

アルファ値を弄るためだけのペイント処理

はじめに UnityTexturePaintでアルファ値のみのペイントが出来るようになりました。 大した追加ではないのですが、透明(半透明)なオブジェクトに使ってやると結構可能性が広がりそうです。 使い方は簡単で、ブラシのカラーブレンド設定でAlphaOnlyにするだけ…

歩いた場所の雪が凹むやつ作った

はじめに 雪が積もって高さがもとに戻っていくやつ書いた。Uniteでセツナの講演聞いててよかった。パーティクルの逆LODもやりたい。 pic.twitter.com/tGdu0RxZ41— Es (@Es_Program) October 26, 2016 こんな感じで、歩いた箇所の雪を凹ませるやつ作ってみま…

ハイトマップから法線情報の生成

はじめに esprog.hatenablog.com 以前の記事で、ハイトマップを参照して動的に変形するオブジェクトのサンプルを作りました。 サンプルでは、シェーディング計算が適当でしたが、今回はちゃんとシェーディングを行うために必要になる法線情報を計算してみま…

UnityTexturePaintでリアルタイムにオブジェクトを変形する

はじめに UnityTexturePaintは、リアルタイム(ゲーム実行中)にオブジェクトの持つテクスチャに対してペイントを行うアセットです。 UnityTexturePaintは以下で公開しています。 github.com 基本的には メインテクスチャへのペイント ノーマルマップへのペイ…

テッセレーション基礎

はじめに UnityでTessellationについて勉強したので基本的なところを纏めておきます。 Tessellationとは GPUを利用して頂点の分割を行う技術です。 D3D10でのレンダリングパイプラインは MSDNより引用 となっていました。 大抵の場合はVertex-ShaderとPixel-…

Splatoonの塗りみたいのを再現したい その8

はじめに esprog.hatenablog.com 前回はアンチエイリアスの実装やペイント時の色、法線情報の合成アルゴリズムを見直していきました。 実は他にもMeshColliderを不要にするために色々奮闘したりもしました(こちらで掲載しています)。 以前までの全ての関連記…

UnityTexturePaintで出来ること

はじめに esprog.hatenablog.com 上記記事でTexturePaintを公開しました。 公開当初より出来ることが多くなってきたためメモがてら機能を整理しておくのが今回のエントリです。 TexturePaintを使ってみたい場合は、GitHubから落としてきてUnityで開いてみて…

C# Interactive 便利に使おう -その2 UnityAssemblyの参照-

はじめに esprog.hatenablog.com 以前のC# Interactive記事では、DLLの参照について書きました。 今回はUnity + Visual Studioで開発を進めている方向けに、Unityに特化したDLL参照について書き残します。 できること C# Interactiveで、現在Unity Editor上…

UV算出ロジックの穴

はじめに 特定のオブジェクト表面上の点(World-Space)の位置を中心に、ブラシで色を塗るためにUVを算出するロジックを作っています。 これができると何が嬉しいのかというと、UnityのOnCollision系イベントメソッドで衝突した点に対して、ペイント処理を施す…

戒めの暗黙的型変換

はじめに esprog.hatenablog.com esprog.hatenablog.com これらに掲載したコードで一部、誤っている箇所が判明したのでお詫びとご報告をするのが今回のエントリー(。 以前紹介してたコードでは、メッシュの持つローカルな頂点座標で$z=0$の場合にバグります(…

Splatoonの塗りみたいのを再現したい その7

はじめに 前回に引き続き進捗報告を。 実装内容は アンチエイリアス 色合成アルゴリズム選択機能 凹凸合成アルゴリズム選択機能 です。シェーダー周りをかなり整理したので今後色々と機能追加が捗りそう。 TexturePaintは以下で公開しています github.com ア…

Splatoonの塗りみたいのを再現したい その6

はじめに めっちゃまったりと進行してるインク処理についてめちゃくちゃ少しだけ進捗あったのでご報告。 といってもTexturePaintに何かあったとかではなく、インクを実際に描画する側のシェーダーでインクに関していい感じに反射するようにしましたよという…

UnityでUVを確認するエディタ拡張

はじめに 気が向いたのでパッと作ってみました。 UVがどう設定されているかを確認できます。 実装 コードはこんな感じ。 UnityでUVを確認するエディタ拡張

ボクセルゲーム制作

はじめに 完全個人でのゲーム企画を考えています。 個人でゲーム制作やってく上で問題になるのがリソース。 作ってくれる人なんていないので自分で作らなきゃです。 2Dゲームならばイラストさえなんとかなればなんとかなるのですが、3Dゲーム作りたい・・・ …

リングセレクトシステムとモーフォング

はじめに 今回はリングセレクトシステム(と呼んでいきます。正式名称とかあるのかは知らないです。)とモーフィングについて書いてみます。 Unityで実装しています。 リングセレクトシステムはアイコンがくるくる回って、その中の1つを選択するみたいなアレ…