2021-01-01から1年間の記事一覧
EditorWindow を作ると、タブに表示される名前がデフォルトだと namespace を含めたクラス名になる 変更したい場合は GetWindow の引数に title を指定する // ウインドウを作成 MyEditorWindow window = (MyEditorWindow)EditorWindow.GetWindow( t: typeof…
Extenject を使っていて、 すでに読み込み済みのシーン内のコンポーネントを、追加で読み込むシーンにDIしたい場合 Scene Parenting という機能があります。 GitHub - Mathijs-Bakker/Extenject: Dependency Injection Framework for Unity3D
Unity2021.2 でシーンにオブジェクトを配置したときに Transform の位置を変えたりするハンドルが表示されなくなる場合があります。 (Unity2021.2.2 現在まで確認) 空のGameObjectにはハンドルが表示される MainCamera には表示されない...!? すぐアップ…
またアホみたいなことを思いついてUnityでモザイクする方法を探していたら、 意外と簡単にできました。 Render Pipline の設定 Shader Graph アセットを作成する Shader Graph のプロパティの追加 ノードをつなぐ マテリアルを作成 シーンにモザイク表面とな…
エディタスクリプトとかで、文字列をパースしてEnumとして取りたい場合があったので。 以下のようなEnumが定義されている場合 enum TestEnum { Unity, Test, Fakku }
うっかりやってしまったのでおさらい... Transform[] TransformList; TransformList[Random.Range(0, TransformList.Length - 1)]; みたいに Length - 1 をつかってランダム値を取得しようとするとちゃんと取得できませんよって話。 基本的な仕様の理解 Unit…
エディタ拡張で、ある命名規則で自動でフォルダ作ったりする場合にどうするか調べました。
エディタスクリプト内で EditorApplication.EnterPlaymode 関数を呼び出すことで、 任意のタイミングでPlayモードに入ることができます。 前回やったインスペクタのボタンと組み合わせ、 ボタンを押したらエディタで前処理してPlay開始ということが可能にな…
下のようなかんじでインスペクタにボタンを表示させ、 押したときに MonoBehaviour の任意の関数を実行させる。
シーン内にオブジェクトを配置している際、人物モデルのAnimatorに設定してあるアニメーションのポーズをとらせたかったのに方法がわからなかったので、 スクリプトで強引に解決した。
Blenderで3Dモデルを作成したり編集すると、プロジェクトデータ(拡張子 .blender のファイル)をそのままUnityにインポート でき、Unityのプロジェクトウインドウからダブルクリックすればそのまま Blender を起動できたりして便利です。 ただデフォルト設定…
LUT は色をほかの色にマッピングするテーブルテクスチャのことで、これを使うとおもしろい色彩効果を作れたりします。 LUT適用前 LUTとして使用するテクスチャ LUT適用後 URP の Post Process でも Color Lookup という名前で実装されており使えるのですが、…
Unread Engine は Visual Studio でC++言語を使ってプログラム組むのが前提らしい。 Unityでも Visual Studio を使っていたので使い勝手的には非常にありがたい。 (ちなみに自分はVSCodeより断然VisualStudio派) ということでインストール済みのVisual Stu…
ゲームのプロジェクトなんてただでさえ容量がでかいので、テスト的に新規作成しまくってるとすぐストレージが圧迫されたりします。 「ひーもうディクスいっぱいだよぅ」と、いらないプロジェクトは削除した、でもまだ全然足りない というときにまずチェック…
Unreal Engine 4 で空を配置する手順です。
UE4のチュートリアルを進行中。 learn.unrealengine.com
デフォルトではGameObjectに同じスクリプトを2個以上つけてもなんの問題もなく動いてしまうので、 非常に見つけづらいバグのもとになってしまいます。
コライダーなどのコンポーネントがついていることを前提としたスクリプトを書いた時、 GameObjectやプレハブにスクリプトをつけるときに必要なコンポーネントを全部手作業でつけたりしていませんか? そんなとき、スクリプトと同時にUnityが自動でコンポーネ…
Animationウインドウを使うと、Unity上で Transform 移動などの単純なアニメーションをすぐ作ることができます。 そして実は、Humanoid(リグを設定した人物モデル)用アニメーションも作れます。 単純な静止ポーズがほしいなあと思ったときに手っ取り早く作…
3Dグラフィックスを描画するときに、ディスプレイ上の描画位置を計算する処理が MVP行列 を使った座標変換です。 モデル行列、ビュー行列、プロジェクション行列を使った変換のことですが、Unity上で ShaderLab を使ってシェーダーを書く場合、 それぞれシェ…
知ってのとおりiOS14から、アプリ内でパーソナライズ広告を表示するためのトラッキングを許可するダイアログを実装する必要があります。 もちろんUnityのゲームでも対応する必要があるので、手っ取り早く最速で 実装する方法をまとめました。 Xcodeのフレー…
VisualStudio (for Mac) で開発していると、 Unityではコンパイルエラーが出ていないのにVSのみエラーが発生している! そのせいでブレークポイントが貼れない! クソが! となる場合があります。(私だけ?) その場合、
以前 この記事 で触れたとおり、Unity2020ではプレビュー版のパッケージはデフォルトでは表示されれず、 表示する設定をしたとしても ECSはリストアップすらされません 。 全社的な取り組みとして、パッケージリストを再検討し、まだ正式版よりは実験的なパ…
Universal Rendering Pipeline の場合、カメラごとのポストプロセスの ON, OFF はカメラをインスペクタで見たときのチェックボックスでします。 この切り替えをスクリプトからしたかったのですが、ひと工夫必要だったのでメモ。 Unity 2020.2 URP 10.3.2
Unity2020.2 の Preferences の項目に追加されていました。(もっと前からあったかはワカラン) メニューの Unity > Preferences で開いて Scene View タブを表示。 ここのチェックボックスを入れると、シーンに新規作成した GameObject の位置が中心になり…