Unityでシェーダーのデバッグ Debugging DirectX 11 shaders with Visual Studio ↑の手順に従った後、フレームをキャプチャしてそのフレームを開くとどのようにシェーダーで処理されたのか分析できる。 Unityのシェーダーの基本 基礎知識がまとめられた記事 …
スクリプトを新規追加したときの初期状態を変更 Unityをインストールしたフォルダ内の C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates の中を変更する プレハブをネストさせる 現バージョン(Unity5.1.1)ではプレハブの中にプレハブを入れる…
オブジェクトの親のオブジェクトについたスクリプトの関数を呼ぶ this.gameObject.GetComponentInParent<EnemyController>().EnemyDead(); オブジェクトのサイズを取得 renderer.bounds.size or collider.bounds.size or mesh.bounds.size 敵をインスタンス化したときにプレイ</enemycontroller>…
特定のスクリプトがアタッチされたGameObjectの配列 例えばEnemy.csがアタッチされた敵用のゲームオブジェクトの配列を作りたいときは、 GameObject[]とすると入れることはできるが、GameObject内在の関数しか呼べない。 Enemy[]とすれば、自動的に「Enemy.c…
GameobjectにアタッチしないスクリプトのpublicメンバーにCameraなどのコンポーネントを適用する方法 Projectビューからスクリプトを選択し、出てきたインスペクターに対してコンポーネントを入れることで適用できる。 uGUIで「画面の右から3/4の位置に固定…
動くキャラクターの頭上に体力ゲージを表示する 例えばSliderを使って体力ゲージを表現する場合、using宣言とメンバを追加し、以下のようにするとオブジェクトに追従するUIが実現できる using UnityEngine.UI; // ... [SerializeField] Slider lifebar; // .…
基本的にはエンジンのソースコード取得とビルド手順のまとめ UE4.6改訂の手順どおりで問題ないが、1点、githubアカウントをunreal engineアカウントにひもづけた後、EpicTeamAdminから招待のメールが来ているのでそれに応じる必要がある。 このことが上記記…
モンストで敵に当たったときのキャラの跳ね返り処理 図で言うと、Aから進んでOの地点で接触した場合、Cの方向に進むのが正しい。 現状進もうとしているベクトルOA'を回転させてベクトルOCにすればいいのだが、直接∠A'OCを求めることは難しいため、まずは∠A'O…
スプライト 用意した画像をUnityで使うには、まずその画像を入れて、 その画像を選択した時に出るImport SettingsでTextureTypeをSprite(2D and UI)にする。 通常やるような1枚の画像に複数のパーツを入れている場合は、SpriteModeをMultipleにして、SpriteE…
コンポーネントのアタッチし忘れ防止 [RequireComponent(typeof(Rigidbody2D))] をクラス宣言の上に書くと、このスクリプトを取り付けたgameobjectに自動的にRigidbody2Dを付けられ、付け忘れ防止になる typeofの中にスクリプト名を書いて、特定のスクリプト…
雑記。 Skybox Skyboxを設定するには、シーンのメインカメラにSkyboxコンポーネントを追加してスカイボックス用のマテリアルを適用(アセットストアにある設定済みマテリアルを利用すると楽) Skyboxを自作する場合はprojectビュー内で右クリックからcreate>…
(最終更新:2022/8/23) ないと生きていけない系 Linkclump マウス右ドラッグで範囲内のリンクを一括で開く。 AdBlock 定番。webブラウズを不快にする目障りな広告はこれで除去。 このような広告ブロックと、トラッキングブロック(Ghosteryなど)、マイニン…
知り合いと色々話したりする中で「このショートカットは共通認識のはず」と思っていたものも、意外とそうでもないものもあったりしたので、ここでまとめてみたいと思います。 (windowsといいながら、有名なアプリケーションで大体共通するショートカットも含…
Gitを用いてVisual Studio開発をしようを読んで、VSでgitを使い始めた。 が、肝心のリバートが公式の情報がわかりにくく彷徨ったのでメモ。 前の版にロールバックするには、VS側から、チームエクスプローラ→変更→操作→履歴の表示→右クリックして「元に戻す」…
三角形と点の当たり判定を応用して、可変長引数テンプレートでN角形と点の当たり判定を書いてみました。 参考:ゲームプログラミング技術集 struct Vec2 { Vec2(float a, float b) : x(a), y(b) {} float x, y; }; Vec2 operator-(const Vec2& a, const Vec2…
コンパイラで内部エラーが発生しました。 簡易リビルド時のエラ-です、通常のビルドに戻します。 というエラーメッセージ。単純化しろとか.idbファイルを消せとか情報があるが、 私のケースでは、クラスの変数の宣言場所で配列を空ブレースで初期化していた…
次のようなコードがあったとする。 bool ev1 = true; bool ev2 = false; if (ev1){ if (ev2) return true; else return false; } else{ if (ev2) return false; else return true; } これは、次のように書ける。 return !(ev1 ^ ev2);
#include <thread> class C{ public: // blah blah blah void run() { std::thread thd(&C::impl, 10); thd.join(); } void impl(int n) { //do something } }; int main() { C c; c.run(); return 0; } 上記のコードをコンパイルすると、MSVC12EEでは 「1 引数を取</thread>…
プログラミングについて気付いたことなどを書いてみたいと思います。 未熟者ゆえに間違い等有るかも知れないので、ご了承ください。 (ご指摘は歓迎いたします。)