いんでぃーづ

ゲームいろいろ、いろいろ自由

Asset Store
ブラックフライデーセール!!

Extenject (旧Zenject) : シーンに親子関係を持たせてDIする

Extenject を使っていて、 すでに読み込み済みのシーン内のコンポーネントを、追加で読み込むシーンにDIしたい場合 Scene Parenting という機能があります。 GitHub - Mathijs-Bakker/Extenject: Dependency Injection Framework for Unity3D

Unity2021.2 でシーンビューにTransformのハンドルが表示されない

Unity2021.2 でシーンにオブジェクトを配置したときに Transform の位置を変えたりするハンドルが表示されなくなる場合があります。 (Unity2021.2.2 現在まで確認) 空のGameObjectにはハンドルが表示される MainCamera には表示されない...!? すぐアップ…

Unity : URP + ShaderGraph でモザイク

またアホみたいなことを思いついてUnityでモザイクする方法を探していたら、 意外と簡単にできました。 Render Pipline の設定 Shader Graph アセットを作成する Shader Graph のプロパティの追加 ノードをつなぐ マテリアルを作成 シーンにモザイク表面とな…

C# : 文字列からEnum値に変換する

エディタスクリプトとかで、文字列をパースしてEnumとして取りたい場合があったので。 以下のようなEnumが定義されている場合 enum TestEnum { Unity, Test, Fakku }

Unity : 配列の要素を Random.Range で取得するときに最後の要素だけなぜか出てこない

うっかりやってしまったのでおさらい... Transform[] TransformList; TransformList[Random.Range(0, TransformList.Length - 1)]; みたいに Length - 1 をつかってランダム値を取得しようとするとちゃんと取得できませんよって話。 基本的な仕様の理解 Unit…

Unity : エディタ拡張スクリプトでプロジェクト内にフォルダを作成する

エディタ拡張で、ある命名規則で自動でフォルダ作ったりする場合にどうするか調べました。

Unity : エディタスクリプトからPlayモードを開始する

エディタスクリプト内で EditorApplication.EnterPlaymode 関数を呼び出すことで、 任意のタイミングでPlayモードに入ることができます。 前回やったインスペクタのボタンと組み合わせ、 ボタンを押したらエディタで前処理してPlay開始ということが可能にな…

Unity : インスペクタに表示させたボタンから任意の関数を実行する

下のようなかんじでインスペクタにボタンを表示させ、 押したときに MonoBehaviour の任意の関数を実行させる。

Unity : シーン編集中にAnimator付き3Dモデルにポーズをとらせる

シーン内にオブジェクトを配置している際、人物モデルのAnimatorに設定してあるアニメーションのポーズをとらせたかったのに方法がわからなかったので、 スクリプトで強引に解決した。

Blenderの自動バックアップを無効にする

Blenderで3Dモデルを作成したり編集すると、プロジェクトデータ(拡張子 .blender のファイル)をそのままUnityにインポート でき、Unityのプロジェクトウインドウからダブルクリックすればそのまま Blender を起動できたりして便利です。 ただデフォルト設定…

Unity : URPのPostProcessでLUTを使う

LUT は色をほかの色にマッピングするテーブルテクスチャのことで、これを使うとおもしろい色彩効果を作れたりします。 LUT適用前 LUTとして使用するテクスチャ LUT適用後 URP の Post Process でも Color Lookup という名前で実装されており使えるのですが、…

UnrealEngine4 : UnityでVisualStudioをインストール済みだった場合の設定

Unread Engine は Visual Studio でC++言語を使ってプログラム組むのが前提らしい。 Unityでも Visual Studio を使っていたので使い勝手的には非常にありがたい。 (ちなみに自分はVSCodeより断然VisualStudio派) ということでインストール済みのVisual Stu…

Unityマシンの容量が圧迫されてきたら確認すること

ゲームのプロジェクトなんてただでさえ容量がでかいので、テスト的に新規作成しまくってるとすぐストレージが圧迫されたりします。 「ひーもうディクスいっぱいだよぅ」と、いらないプロジェクトは削除した、でもまだ全然足りない というときにまずチェック…

UnrealEngine4 : 空を追加する

Unreal Engine 4 で空を配置する手順です。

UnrealEngine4 : 配置したオブジェクトを地面に密着させる

UE4のチュートリアルを進行中。 learn.unrealengine.com

Unity : スクリプトを重複して付けてしまうのを防止する

デフォルトではGameObjectに同じスクリプトを2個以上つけてもなんの問題もなく動いてしまうので、 非常に見つけづらいバグのもとになってしまいます。

Unity : スクリプトに必要なコンポーネントを自動でつける

コライダーなどのコンポーネントがついていることを前提としたスクリプトを書いた時、 GameObjectやプレハブにスクリプトをつけるときに必要なコンポーネントを全部手作業でつけたりしていませんか? そんなとき、スクリプトと同時にUnityが自動でコンポーネ…

Unity : Animationウインドウで Humanoid アニメーションを作成する

Animationウインドウを使うと、Unity上で Transform 移動などの単純なアニメーションをすぐ作ることができます。 そして実は、Humanoid(リグを設定した人物モデル)用アニメーションも作れます。 単純な静止ポーズがほしいなあと思ったときに手っ取り早く作…

Unity : MVP行列をスクリプト側で計算してシェーダーに渡す

3Dグラフィックスを描画するときに、ディスプレイ上の描画位置を計算する処理が MVP行列 を使った座標変換です。 モデル行列、ビュー行列、プロジェクション行列を使った変換のことですが、Unity上で ShaderLab を使ってシェーダーを書く場合、 それぞれシェ…

Unity : iOS14のIDFAトラッキング許可ダイアログを実装する

知ってのとおりiOS14から、アプリ内でパーソナライズ広告を表示するためのトラッキングを許可するダイアログを実装する必要があります。 もちろんUnityのゲームでも対応する必要があるので、手っ取り早く最速で 実装する方法をまとめました。 Xcodeのフレー…

Unity : VisualStudio で突然コンパイルエラーが発生してデバッグできなくなった場合の解決方法

VisualStudio (for Mac) で開発していると、 Unityではコンパイルエラーが出ていないのにVSのみエラーが発生している! そのせいでブレークポイントが貼れない! クソが! となる場合があります。(私だけ?) その場合、

Unity2020でECSをインストールする方法

以前 この記事 で触れたとおり、Unity2020ではプレビュー版のパッケージはデフォルトでは表示されれず、 表示する設定をしたとしても ECSはリストアップすらされません 。 全社的な取り組みとして、パッケージリストを再検討し、まだ正式版よりは実験的なパ…

Unity URP : スクリプトからカメラのポストプロセスをON - OFFする

Universal Rendering Pipeline の場合、カメラごとのポストプロセスの ON, OFF はカメラをインスペクタで見たときのチェックボックスでします。 この切り替えをスクリプトからしたかったのですが、ひと工夫必要だったのでメモ。 Unity 2020.2 URP 10.3.2

Unity : シーンに新規作成したGameObjectの位置を (0, 0, 0) にするオプション

Unity2020.2 の Preferences の項目に追加されていました。(もっと前からあったかはワカラン) メニューの Unity > Preferences で開いて Scene View タブを表示。 ここのチェックボックスを入れると、シーンに新規作成した GameObject の位置が中心になり…

Unity : Randomを使うとエラーが出る場合の解決方法

C#

Random.Range 関数でランダム値を取得しようとすると以下のようなエラーが出る場合があります。 error CS0104: 'Random' is an ambiguous reference between 'UnityEngine.Random' and 'System.Random' error CS0104: 'Random' is an ambiguous reference be…

Unity : エッジつきディゾルブシェーダーを自作する

前回 Shader Graph でディゾルブシェーダーを作りましたが、Shader Graph だと ComputBuffer に対応してなくて、 これだとやりたいことできへんやんということで結局コードを書くことにしました。 でせっかくなので紙が燃えるときのようなエッジのエフェクト…

Unity ShaderGraph : ディゾルブシェーダーを自作

ディゾルブシェーダー は溶ける(Dissolve)ようなエフェクトで消えたり出たりするためのシェーダーです。 シェーダーのコードをガリガリ書いてもいいのですが、せっかくなので ShaderGraph で作ります。 ・環境 Unity 2020.1 Universal Rendering Pipeline …

Unity ECS : ジョブでNativeArrayのメモリリークが起きている場合の解決方法

とりあえず動くのを優先してジョブをガリガリ書いていると、以下のようなエラー表示によく出くわします。 A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces to get more details. NativeArray などでメモリ…

Unity ECS : preview版 (0.8.0) Hybrid Renderer V2 を使う

基本的に私は何も考えずにUnityをメジャーアップデートして使うしパッケージもどんどんpreview状態で使っていくタイプなのですが、そのたびに何かしら問題が発生し、開発期間中にハマるときは大体Unityアップデートした直後だったりして「ちょっとお前落ち着…

Unity : Input System でゲームパッドからの入力を受け取る

前回は、とりあえず新しい入力検出方法の Input System を導入してみました。 indie-du.com 今回は PS4のコントローラ を開発用のPCにつなぎ、スティックのアクションを受け取って移動してみます。 サムネ用


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。