2018-07-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文が避けられる傾向にあります。 ただどういうケースでなぜ避けるべきなのか、ということについては耳にする機会があまりなかったので調べてみました。
自分用メモ。随時更新。