Unity

UIToolkitのButtonのコールバックはPointerDownEventではなくClickEventを使う

問題 ButtonのコールバックにPointerDownEventを指定すると発火しない 解決策 ClickEventを使うか,イベント登録時にTrickleDownを指定する 理由 Buttonは特殊な実装な上に昔書かれたやつだから. 以下PointerDownEventを使う場合 公式による説明 forum.unit…

追加したいコンポーネントが表示されない時は,パッケージを再インポートする

症状 Unity Physicsをpre.65にアップデートしたら,PhysicsShapeなどのコンポーネントが追加できなくなり,表示されなくなった 同じ症状が起きた人 Question - [pre.65] how to add PhysicsStepAuthoring Component and etc - Unity Forum 解決策 パッケージ…

アセットのテクスチャからハイトマップを作る時は,圧縮されていないか確認すること

デフォルトは圧縮されてる 非圧縮

RuntimeInitializeOnLoadはジェネリックなクラスでは呼ばれない

ドキュメントに書いてないので注意 Unity - Scripting API: RuntimeInitializeOnLoadMethodAttribute // 通常クラス public class Hoge { [RuntimeInitializeOnLoadMethod] static void OnRuntimeInitialize() { _count = 100; } public void ShowCount() { …

Error: .NETFramework,Version=v4.7.1の参照アセンブリが見つかりませんでした。の解決策

エラーログ 解決策 .NET Framework 4.7.1SDKを入れる(開発者パックのこと) .NET Framework 4.7.1 をダウンロード | 無料の公式ダウンロード 図解

HDRPからURPにするメモ

環境 Unity 2021.2.8f1 事前準備 HDRPパッケージ消す URPパッケージ入れる 作る奴 ProjectSettings GraphicsのScriptable Render Pipeline Settings URP GlobalSettingsは自動でセットされた QualityのRender Pipeline Asset Window/Rendering/Lighting Ligh…

URPとシェーダのメモ

www.youtube.com www.youtube.com www.youtube.com www.youtube.com www.youtube.com blog.unity.com URP | Unity Learning Materials シェーダー | Unity Learning Materials トゥーンシェーディング | Unity Learning Materials The Book of Shaders

BlenderとUnityのアニメーションメモ

1, アーマチュアと全てのボーンの名前はしっかり決めること 理由:Unityにインポートした後に困るから 2, アニメーションを作る時は,IKやFKを操作して作る Blender上でIKだけのキーフレームを打ってアニメーションを作成しても,それに連動したボーンの情報…

Unityでfbxのアニメーションをインポートするときのメモ

名前依存ヒエラルキー fbxでインポートしたアニメーションは,名前依存ヒエラルキーになっている. これはリグの名前が変わってもダメ,ヒエラルキー(階層構造)が変わってもダメという状態である. 名前依存ヒエラルキーの問題点 ヒエラルキーは同じでも,ア…

AnimationRiggingのメモ

docs.unity3d.com blog.unity.com Extending the Animation Rigging package with C# – Unite Copenhagen 2019 from Unity Technologies www.slideshare.net www.youtube.com blog.unity.com

トゥーンシェーダのメモ

原神 https://www.artstation.com/bjayers/blog/9oOD/blender-npr-recreating-the-genshin-impact-shader www.youtube.com Unity github.com unity-chan.com www.youtube.com

AnimatorControllerのメモ

AnimatorControllerはVisualScriptingと考えること 再利用できるようにする コードと同じように常にメンテナンスする パラメーターの数は多くてもいい.アニメーションが多ければ必要なパラメータが増えるのは当然. Firewatchではこれくらいパラメータがあ…

FPSSampleのアニメーションの実装を読む(後編)

前回の FPSSampleのアニメーションの実装を読む(前編) - siunのメモ 基本的に大まかな流れはここ読めばわかる FPSSample/Animation.md at master · Unity-Technologies/FPSSample · GitHub 三人称視点の実装 すべてPlayableAPIを使って実装してる AnimatorCo…

UnityのDrawLineとDrawRayのメモ

1. DrawLineは2点を結ぶ線 点Aと点Bがある時,その2つを結ぶ線を引きたい時使う 2. DrawRayは1点と1距離から作る線 点Aがある時,そこからある方向へ,ある長さの線を引きたい時使う*1 3. メモ DrawRayは内部でDrawLineを使っている UnityCsReference/Gizmos…

FPSSampleのアニメーションの実装を読む(前編)

1. はじめに UnityのAnimatorControllerは,ステートの状態が多くなると管理しづらくなる(矢印だらけになる)という問題がある. そこでUnity公式のサンプルではどのようにアニメーションを実装しているのか知るためソースを読んだ. github.com 2. 前知識 ま…

UV座標のOverrideを理解する

背景 上の画像で,左上にあるテクスチャのUV空間を,GradientNoiseでOverrideした場合,右下のようなテクスチャが得られる. この時Overrideは具体的にどのような処理を行っているのか理解できなかったので調べた. UVの基本 まず,UV空間は左下を(0,0)右上…

Unityで[SerializeField]を使った時に出る未初期化の警告を消す

(2021/6/13追記) Unity対応済み 問題 Unity(2019.3.0f1)で[SerializeFiled]を使用してインスペクタから値を設定した場合 warning CS0649: ... is never assigned to, ... の警告が出る (一時的な)解決方法 Assets/csc.rspファイルを作る(C# Compiler Respons…

Unityでダウングレードすると起きるパッケージエラーの直し方

具体例 2020.1.0a9から2019.3.0b9にダウングレードするとパッケージエラーが起きる 原因 パッケージのバージョンが合ってない Library/PackageCache プロジェクトを2020.1.0a9で作った時 プロジェクトを2019.3.0b9で作った時 プロジェクトを2020.1.0a9で作り…

ShaderGraphでテクスチャからディスプレイスメントマッピングをするときは,Sampler Texture 2D LODを使う

したかった事 スクリプト内でノイズテクスチャを生成し,それを元にShaderGraphでディスプレイスメントマッピングをする はまった問題 Sampler Texture 2Dノードが繋がっていると,PBR MasterのPositionに繋げられない 原因と解決策 原因:Sampler Texture 2…

テクスチャの画像が見切れる場合は、MeshTypeをFullRectにする

テクスチャが上記のように見切れる原因は、テクスチャのインスペクタのMeshTypeがTightになっているから。 なのでMeshTypeをFullRectにすると直る。

ERROR You have missing MonoBehaviours on your gameobjects!が出たときの原因

上記のエラーが出る時は、PhotonのRPCで同期したGameObjectのコンポーネントに、Missingなスクリプトが張り付いている可能性がある。 これを削除すればエラーは消える。

GameObjectのスクリプトは、GameObjectが非アクティブでも呼べる

public class Main : MonoBehaviour { void Start() { _target.Say(); } [SerializeField] private Target _target; } public class Target : MonoBehaviour { public void Say() { Debug.Log("I'm Target!"); } } その他 GameObjectが最初から非アクティブ…

UnityのGetComponentはAwake()で行うこと

いいたい事 public class Bar : MonoBehaviour { void Start() { // ダメ _view = GetComponent<BarView>(); } private BarView _view; } public class Bar : MonoBehaviour { void Awake() { // 良い _view = GetComponent<BarView>(); } private BarView _view; } なんでStar</barview></barview>…

UnityのAwake()とStart()の違い

Awake Start

UnityのStart()の継承、オーバーライドのメモ

2021/5/1追記 目次 1, overrideをつけなくても、Start()は自動的にオーバーライドされる 2, 子クラスでStart()が定義されてなければ、親のStart()が呼ばれる 3, base.Start()で親のStart()を呼べる。ただしprotectedかpublicをつけなければならない Case1 1,…

Unityのスプライトアニメーションの最後を透明にする方法

やりたい事 上図のように、消えるアニメーションの最後でスプライトが消えるようにしたい。 (普通にキーを追加しても空のキーは追加できない上に,テクスチャで準備すると最後の透明部分が無視される) やり方 結論から言うと、空のアニメーションを作ってそ…

Unityのデフォルトスクリーンサイズを変更する方法

(2020/3/14更新) 今の問題 Edit -> ProjectSettings -> Player この赤枠を変更しても、実行プログラムのウィンドウサイズが変わらない。 解決策 Screen.SetResolution()を使う Unity - Scripting API: Screen.SetResolution 使用例 public class GameManager…