しゅみぷろ

プログラミングとか

Unity

Forward Renderingについてまとめてみた

UnityのForwardRenderingについて自分なりにまとめてみます。 docs.unity3d.com ForwardRenderingで実行されるパス ForwardRenderingでは、1つかそれ以上のパスが実行されます。実行されるパスは Baseパス (ForwardBase) オブジェクトを1つのピクセルライテ…

ForwardRenderingとDeferredShading

西川善司の3Dゲームファンのための「KILLZONE 2」グラフィックス講座(前編) -GAME Watch docs.unity3d.com docs.unity3d.com ForwardRenderingとDeferredShadingについては上記サイトで詳しく書かれていました。 ここでは勉強を兼ねてForwardRenderingとDefe…

Shader Variantについて調べてみた

Unityシェーダーの基本についてはこちらでスライドにまとめています esprog.hatenablog.com 今回は上記のスライドの内容では扱っていないシェーダーのバリアントについてです。 色々とググッては見たのですが詳しく書いてあるサイトが見つからなかったため、…

紙をめくるアニメーションをするシェーダー作ってみた

めくりたい・・・めくりたくない・・・?? ということで、今回は紙をめくるようなアニメーションするシェーダー書きました! 今作ってるゲームが魔法の本の世界なので、こういったアニメーションが必要でした。 実装でやってることはx,yそれぞれめくった時…

背景のリピートとスクロール

容量の関係で画質がめちゃくちゃ荒いですが。。 背景画像は基本的にuGUIでバックグラウンドカメラのスクリーンスペースに対して表示させるようになっています。 この背景をプレイヤーの位置情報をもとにスクロールさせたかったので実装しました。 // 背景リ…

CustomRenderQueueで2時間迷走したお話

Debugモードでのみ見えるCustomRenderQueue。シェーダー書いてて挙動がおかしいから原因突き止めるのに2時間かかった。シェーダーが原因じゃなかった。激おこ。 pic.twitter.com/5vSxapl2KT — Es (@Es_Program) March 10, 2016 Debugモードで見れるここの値…

UIの遷移を作ってみた

色とか遷移の速度とかは調整中 マスクに使った素材はこちらからお借りしました。 For You | ぽけっとの中のいたち シェーダーはこんな感じ。 アルファ値でclipして、ピクセル色をゴニョゴニョしてます。 // gist683eb267815d27f647b6

Unityのシェーダーまとめスライドを作ってみた

予習復習を兼ねてスライドをまとめてみました。 4日くらいでガサッと作ったので、まだまだまとめきれていない項目やそもそも書いていない項目も多いです(途中で書くの飽た)。 なのでちょっと時間を置いてからまだ書けていない項目についてもまとめたいなぁと…

Layout/Repaintイベント間で表示コンポーネントが変化するとエラーになる問題について

Cygames Tech Fes フォローアップ: 内製タイムラインツールCuttの紹介 | Cygames Engineers' Blog Cygamesさんのサイトでかなり詳しく書いてあります。 問題はタイトルの通りです。 Layoutイベント後に表示するコンポーネントが変化したらエラーが出るので、…

Unityのサウンド管理(SoundManager)

ゲームサウンド管理のためにSoundManager作りました。 使用方法 基本的には「追加」「削除」ボタンでサウンドを追加していきます。追加時に、左のテキストフィールドからサウンドに一意な名前をつけておきます。 例えば「TitleBGM」という名前をつけて追加す…

MacでUnity、VMのVisualStudioで編集

MacでUnityを開きつつ、そのプロジェクトのスクリプト等をVMのVisualStudioから編集する方法についてです。 ParallelsでもVMWareでもいいので、まずは仮想環境を整えましょう。 naichilab.blogspot.jp こちらを参考に、VisualStudioを仮想のWindowsにインス…

ParallelsのアップデートでUnityの表示が改善された話

以前ParallelsでWindowsのUnityを開くといろんなWindowの色合いがおかしくなる問題の解決策を書きました。 esprog.hatenablog.com 3Dアクセラレーションの設定をいじっていたのですが、Parallelsのバージョンを更新することで解決されました。 ちなみに現在…

エディター拡張について

めちゃくちゃ参考になるスライド。 Extending the Unity Editor from Masamitsu Ishikawa www.slideshare.net インスペクター拡張についてです。内容は初歩的なことです。 とりあえず、インスペクター拡張を試した基本的なサンプルを。 using System.Collect…

UnityでのSingletonについて

UnityのMonoBehaviourをSingletonにしたい時って結構ありますよね。 調べれば、シンプルなSingletonMonoBehaviourの実装とかそんな感じですごいたくさん出てきます。 しかし、公開されているものの中には結構用法によっては不便に思えるものが多かったりしま…

イベント関数について

ちょっとしたメモ。Unity界隈では常識なのかもです(よく知らない)。 MonoBehaviourを継承したクラスAがあって、Aを継承したクラスBがあったとして class A : MonoBehaviour{ void Awake(){ Debug.Log("Class A awake.");} void Start(){ Debug.Log("Class A …

Unityでキーコンフィグ&キー入力イベントの進捗

qiita.com Unityでゲーム内にキーコンフィグを実装しようと思うと結構工夫が必要になります。 なので、以前からゲーム制作と並行して、キーコンフィグとユーザーのキー入力イベントを簡単にするためのAsset制作を進めています。ほぼ完成したのですが、まだ抽…

ParallelsでWindowsのUnityを開くと様々なUnityウィンドウの表示がおかしくなる問題の解決

esbrog.hatenablog.com これと関係あるお話なのですが、Parallelsの設定とUnityの設定を合わせることで解決しました。 Parallelsの設定で3DアクセラレーションをDirectX9に変更します。 UnityもDirectX9モードで起動することで、表示が正常になりました。 う…

UnityでOpenGLモード起動するとうまく動いてくれないシェーダがある問題

結局のところDX11で開いています。 なので解決してないんですが、問題をメモっときます。 以前こちらで紹介したマスク処理なんですが.. esprog.hatenablog.com qiita.com Unity起動時に"-force-opengl"を指定すると、マスクの値によっては予期せぬ動作をしま…

以前から気になってたUnityエディタ拡張で動画を見る方法試してみた

chroske.hatenablog.com Unityのエディタ拡張で動画を見よう(というかWebView使って色々しよう)!というもの。 なんとも素晴らしい記事に心をつかまれました。 以前から気になっていたのですが、なかなかタイミングがなくてこの時期に。。。 処理内容 コード…

マスク処理 - ShaderLab

Unityでマスクを用いたエフェクト処理を色々と試してみたのでメモ。 qiita.com マスク処理とは マスクと呼ばれる数値の集合と、注目ピクセルの周辺のピクセル色を一定の規則に従って計算する処理をマスク処理といいます。 注目ピクセルとその周辺ピクセルを$…

Blurシェーダ - ShaderLab

qiita.com UnityのShaderLabでブラーシェーダ作ってみました。 ブラー(Blur)とは霞んで見える、ぼんやりと見えるなどを意味します。遠くのものやフォーカス(焦点)を当てていないオブジェクトの描画等で役立つと思います。 このブラーはエフェクトの基本であ…

セピア調シェーダ - ShaderLab

qiita.com 勉強がてら、シェーダで画像処理してみたりしてます。 UnityのShaderLabで制作してます。 まずはセピア調シェーダ。どんな効果が得られるかというと こんな感じになります。以下シェーダのコードです。 // セピア調シェーダ作ってみた ref: http:/…

Unityでキーコンフィグ実装

Qiitaでも記事にしました。 qiita.com 突貫で作ったので、他のプロジェクトで利用できるよう抽象化されていません。 コードは公開しますが、そのままコピペするだけでは使えないと思います。 そのうちリファクタリングしてから公開し直すとおもいます。 なの…

Unityでラスタースクロール

Qiitaにも書きました Qiita: Uniryでラスタースクロール Unityでラスタースクロール Unityでラスタースクロールを実装したことについて書きます。 そもそもラスタースクロールとは...っていう説明は面倒なので、「ラスタースクロールって何?」って方は動画…