2018-01-01から1年間の記事一覧
アニメーションさせたいけどイージングを使うほどでもない時など、 現在値と目的値を定数で毎フレーム線形補間するといい感じにアニメーションします。 本ブログでもよく使っているものの、毎回書くのが地味に面倒なので多少汎用的なクラスを作ってみました。
以前Unityのビルトインのディザ抜き用テクスチャを取得しました。 light11.hatenadiary.com 今回はこれを使って実際にディザ抜きしてみます。
A*アルゴリズムで最短経路を探索してみます。 考え方は理論編の記事で紹介しています。 light11.hatenadiary.com
A*アルゴリズムで最短経路を探索してみます。長くなったのでまずは理論編のみ。 実装編も書きました。
たまに==演算子をオーバーロードしたりEquals()をオーバーライドしたりしますが、 ちゃんとやろうとすると意外とややこしいのでメモです。 実用性重視。細かい話には踏み込みません。 デフォルトの実装 ==とEquals()の違い ==を書いたらEquals()も書くべき?…
Unityのビルトインシェーダをみていると、どうやら内部的にディザ抜き用のテクスチャをもっていることがわかります。 これを使えたら便利そうなのでどんなテクスチャなのか見てみます。
エディタからシリアライズされたフィールドを更新する場合いくつか方法があります。 いずれかの方法を取らないとオブジェクトがDirtyであるとマークされず編集内容が保存されなかったりするのでまとめてみます。
Velocity Verlet(速度ベルレ法)を使って物体の位置を計算する方法です。
ゲーム開発に必要な複素数の知識をまとめてみました。 あくまでゲーム開発に必要な部分のみ。深入りはしません。
ゲーム開発に必要な三角関数の知識をまとめてみました。 基礎的な内容が多いですが一応。
VPOSを使ってスクリーンに対してテクスチャをマッピングする方法です。
MenuItemをショートカットキーにより実行する方法です。
Inspector上でコンポーネントを右クリックしたり、 歯車ボタンをクリックしたときに出てくるメニューを追加する方法です。
ノイズテクスチャサンプリングして放射状の模様を作ってみます。
円形のグラデーションをプロシージャルに作ってみます。
Reflection Probeの設定項目としてBox Projectionというチェックボックスがあります。 この記事ではBox Projectionの考え方について書きます。 基本的なキューブマッピングの知識が前提知識となります。
キューブマップを簡単に作るためのエディタ拡張です。 Unity2017.4.1
ForwardRenderingで複数ライトを取り扱うときの挙動やシェーダの書き方をまとめました。
インタフェイスや抽象クラスはシリアライズできないのでインスタンスの状態を保存したいときなどに困ります。 ここではそんなときのスタンダードな解決策であるISerializationCallbackReceiverを使ってみます。
Reflection Probeの使い方をまとめました。
Reflection Probeを適用するシェーダの書き方です。 ここではReflection Probeの仕組みは割愛し、シェーダ内での取り扱いについてのみ書きます。 Reflection Probeについては別の記事で書きます(17.07.10 書きました -> 関連からリンク)。
シェーダではif文が避けられる傾向にあります。 ただどういうケースでなぜ避けるべきなのか、ということについては耳にする機会があまりなかったので調べてみました。
自分用メモ。随時更新。
色収差のポストエフェクトを実装します。
MatCapテクスチャを簡単に作るためのエディタ拡張を作ったので公開します。
フレネル反射について簡単にまとめます。
MatCapとかスフィアマッピングとか呼ばれる手法の実装方法です。
スクリーンに対してテクスチャをマッピングする方法です。
Unity2017から追加されたCustom Render Textureを簡単に使ってみました。
カメラ空間からプロジェクション空間に座標変換する過程の理解が曖昧だったので、それに関する記事です。 プロジェクション座標変換とは? プロジェクション行列掛けるだけじゃダメ Unityで確認する 確認1 視錐台と同じ形のメッシュ 確認2 P行列で座標変換す…