<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>パフォーマンス on GARNET LOG</title><link>https://garnetcode.jp/tags/%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9/</link><description>Recent content in パフォーマンス on GARNET LOG</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 31 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://garnetcode.jp/tags/%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9/index.xml" rel="self" type="application/rss+xml"/><item><title>【Unity】TagHandleでCompareTagをさらに高速化する</title><link>https://garnetcode.jp/blog/2026/10/tag_handle/</link><pubDate>Sat, 31 Oct 2026 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2026/10/tag_handle/</guid><description>&lt;h2 id="taghandleとは"&gt;TagHandleとは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;TagHandle&lt;/code&gt;はUnity 2023.2で追加された、Tag情報を表すための軽量な値型です。Unity 6（6000.0系）であれば問題なく使えます。
これを使うと、&lt;code&gt;CompareTag&lt;/code&gt;に文字列ではなく&lt;code&gt;TagHandle&lt;/code&gt;を渡せるようになり、内部での文字列比較を回避できます。&lt;/p&gt;
&lt;p&gt;考え方としては&lt;code&gt;Animator.StringToHash&lt;/code&gt;や&lt;code&gt;Shader.PropertyToID&lt;/code&gt;と同じで、「事前に解決して整数（ハンドル）にしておき、毎フレームの呼び出しではそれを使い回す」というアプローチです。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/6000.0/Documentation/ScriptReference/TagHandle.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;TagHandle • UnityEngine • 6000.0 • Unity Editor&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】TryGetComponentの使い方</title><link>https://garnetcode.jp/blog/2026/09/try_get_component/</link><pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2026/09/try_get_component/</guid><description>&lt;h2 id="trygetcomponentとは"&gt;TryGetComponentとは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;TryGetComponent&lt;/code&gt;は、&lt;code&gt;GameObject&lt;/code&gt;にアタッチされたコンポーネントを安全に取得するためのメソッドです。&lt;/p&gt;
&lt;p&gt;従来の&lt;code&gt;GetComponent&lt;/code&gt;では「取得してから&lt;code&gt;null&lt;/code&gt;チェックする」という書き方が定番でしたが、&lt;code&gt;TryGetComponent&lt;/code&gt;を使うと取得の成否を&lt;code&gt;bool&lt;/code&gt;で返してくれるので、&lt;code&gt;if&lt;/code&gt;文と組み合わせて自然な流れで書けます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unity 2019.2&lt;/code&gt;から追加されたメソッドで、現行の&lt;code&gt;Unity 6&lt;/code&gt;でも標準的なAPIとして利用できます。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/6000.0/Documentation/ScriptReference/GameObject.TryGetComponent.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;TryGetComponent • GameObject • 6000.0 • Unity Editor&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class="related-link"&gt;
&lt;div class="related-link-label"&gt;🔗 関連記事&lt;/div&gt;
&lt;div class="related-link-lead"&gt;&lt;code&gt;GetComponent&lt;/code&gt;の基本的な使い方やオーバーロード全般は、こちらの記事で解説しています。本記事では&lt;code&gt;TryGetComponent&lt;/code&gt;の仕組みと、実用パターン（Editor上のGC Alloc削減、インターフェイス取得、キャッシュ）にフォーカスして紹介します。&lt;/div&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://garnetcode.jp/blog/2024/07/about_getcomponent/" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--internal"&gt;&lt;i class="fas fa-house" aria-hidden="true"&gt;&lt;/i&gt;内部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;【Unity】GetComponentの使い方｜取得方法・キャッシュ・nullになる原因と対処 - GARNET LOG&lt;/div&gt;
&lt;div class="blogcard-site"&gt;GARNET LOG&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>【Unity】Animatorのパラメータ名をハッシュ値で扱う</title><link>https://garnetcode.jp/blog/2026/06/string_to_hash/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2026/06/string_to_hash/</guid><description>&lt;h2 id="animatorstringtohashとは"&gt;Animator.StringToHashとは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Animator.StringToHash&lt;/code&gt;は、Animatorのパラメータ名をハッシュ値に変換するためのメソッドです。アニメーターを操作するときに毎回文字列を渡すのではなく、起動時に一度だけハッシュ化しておいて、以降はそのハッシュ値で指定する……という最適化の定番テクニックですね。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Animator.StringToHash.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;StringToHash(string) • Animator • 6000.0 • Unity Editor&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;SetFloat&lt;/code&gt;や&lt;code&gt;SetBool&lt;/code&gt;、&lt;code&gt;SetTrigger&lt;/code&gt;といった主要なメソッドは、文字列を受け取るオーバーロードと、&lt;code&gt;int&lt;/code&gt;のハッシュ値を受け取るオーバーロードの両方が用意されています。後者を使うことで、内部での文字列マッチングを回避できます。&lt;/p&gt;
&lt;div class="related-link"&gt;
&lt;div class="related-link-label"&gt;🔗 関連記事&lt;/div&gt;
&lt;div class="related-link-lead"&gt;なお、&lt;code&gt;Animation Parameters&lt;/code&gt;そのものの種類や使い分け、基本的なキャッシュパターンは別記事でまとめてあります。&lt;/div&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://garnetcode.jp/blog/2026/02/animator_parameter/" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--internal"&gt;&lt;i class="fas fa-house" aria-hidden="true"&gt;&lt;/i&gt;内部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;【Unity】Animator Parameterの使い方｜スクリプトからアニメーションを切り替える4つの型 - GARNET LOG&lt;/div&gt;
&lt;div class="blogcard-site"&gt;GARNET LOG&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;本記事はそこから一歩踏み込んで、&lt;code&gt;Animator.StringToHash&lt;/code&gt;の内部動作や&lt;code&gt;string.GetHashCode&lt;/code&gt;／&lt;code&gt;Shader.PropertyToID&lt;/code&gt;との違い、Stateハッシュへの応用、定数クラスでの管理判断など、最適化テクニック寄りの内容を中心に扱います。&lt;/p&gt;</description></item><item><title>【Unity】Raycast Target</title><link>https://garnetcode.jp/blog/2026/05/raycast_target/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2026/05/raycast_target/</guid><description>&lt;h2 id="raycasttargetとは"&gt;RaycastTargetとは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;RaycastTarget&lt;/code&gt;は、&lt;code&gt;Image&lt;/code&gt;や&lt;code&gt;Text&lt;/code&gt;などのUIコンポーネントが持つプロパティです。これを有効にすると、そのUIオブジェクトがポインターのクリックやタップを受け取れるようになります。&lt;/p&gt;
&lt;p&gt;Unityのクリック判定は以下の流れで行われます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;EventSystem&lt;/code&gt;が毎フレームポインターの位置を監視する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GraphicRaycaster&lt;/code&gt;がCanvas内の&lt;code&gt;RaycastTarget&lt;/code&gt;が有効な全オブジェクトに対してレイキャストを行う&lt;/li&gt;
&lt;li&gt;ヒットしたオブジェクトに対してクリックイベントが発行される&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;つまり、&lt;code&gt;RaycastTarget&lt;/code&gt;が有効なオブジェクトは毎フレーム判定処理の対象になります。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/ja/2018.4/ScriptReference/UI.Graphic-raycastTarget.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;UI.Graphic-raycastTarget - Unity スクリプトリファレンス&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】Object Pool</title><link>https://garnetcode.jp/blog/2026/01/object_pool/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2026/01/object_pool/</guid><description>&lt;h2 id="objectpoolとは"&gt;ObjectPoolとは？&lt;/h2&gt;
&lt;p&gt;Unityでは通常、銃弾やエフェクトなど、オブジェクトが必要になったときに、&lt;code&gt;Instantiate&lt;/code&gt;してインスタンスを生成します。&lt;/p&gt;
&lt;div class="related-link"&gt;
&lt;div class="related-link-label"&gt;🔗 関連記事&lt;/div&gt;
&lt;div class="related-link-lead"&gt;プールして再利用する対象は基本的にプレハブから生成します。プレハブの基礎は以下の記事で解説しています。&lt;/div&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://garnetcode.jp/blog/2026/06/prefab/" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--internal"&gt;&lt;i class="fas fa-house" aria-hidden="true"&gt;&lt;/i&gt;内部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;【Unity】Prefabの使い方｜作り方からVariant・Nested Prefab・Overrideの使い分けまで - GARNET LOG&lt;/div&gt;
&lt;div class="blogcard-site"&gt;GARNET LOG&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;それだと効率が悪いので、事前に一定数インスタンスを用意してプールしておき、&lt;/p&gt;
&lt;p&gt;必要に応じてそこから取り出す手法が使われてきました。&lt;/p&gt;
&lt;p&gt;これがオブジェクトプールです。&lt;/p&gt;
&lt;p&gt;Unityでもいくつか&lt;code&gt;ObjectPool&lt;/code&gt;の実装がありますが、Unity2021.2以降では公式にも提供されています。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/2023.2/Documentation/ScriptReference/Pool.ObjectPool_1.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;https://docs.unity3d.com/2023.2/Documentation/ScriptReference/Pool.ObjectPool_1.html&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】Project Auditorの使い方｜コード・アセット・設定を静的解析して改善点を見つける</title><link>https://garnetcode.jp/blog/2026/01/project_auditor/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2026/01/project_auditor/</guid><description>&lt;h2 id="project-auditorとは"&gt;Project Auditorとは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Project Auditor&lt;/code&gt;は、Unity公式の静的解析ツールで、&lt;code&gt;Unity 6.1&lt;/code&gt;から正式にUnityに組み込まれ、サポートされるようになりました。&lt;/p&gt;
&lt;p&gt;以前はUnityエンジニアによって開発された実験的なツールでしたが、現在は正式な機能として提供されています。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Project Auditor&lt;/code&gt;は、&lt;code&gt;Unity Profiler&lt;/code&gt;、&lt;code&gt;Frame Debugger&lt;/code&gt;、&lt;code&gt;Memory Profiler&lt;/code&gt;などのランタイムプロファイリングツールとは異なり、&lt;/p&gt;
&lt;p&gt;プロジェクトを実行することなく、スクリプト、アセット、設定の分析を行い、インサイトと問題を報告します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Auditor&lt;/code&gt;とは監査するという意味です。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/Packages/com.unity.project-auditor@1.0/manual/index.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;https://docs.unity3d.com/Packages/com.unity.project-auditor@1.0/manual/index.html&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】StringBuilderの使い方｜文字列結合のGCを減らす</title><link>https://garnetcode.jp/blog/2025/01/string_builder/</link><pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2025/01/string_builder/</guid><description>&lt;h2 id="stringbuilderとは"&gt;StringBuilderとは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;StringBuilder&lt;/code&gt;とは、文字列操作を効率的に行うためのクラスで、&lt;/p&gt;
&lt;p&gt;主に&lt;code&gt;C#&lt;/code&gt;や&lt;code&gt;Java&lt;/code&gt;などの言語で使用できます。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://learn.microsoft.com/ja-jp/dotnet/api/system.text.stringbuilder?view=net-8.0" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--external"&gt;&lt;i class="fas fa-arrow-up-right-from-square" aria-hidden="true"&gt;&lt;/i&gt;外部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;StringBuilder クラス (System.Text)&lt;/div&gt;
&lt;div class="blogcard-site"&gt;learn.microsoft.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】GetComponentの使い方｜取得方法・キャッシュ・nullになる原因と対処</title><link>https://garnetcode.jp/blog/2024/07/about_getcomponent/</link><pubDate>Sat, 13 Jul 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/07/about_getcomponent/</guid><description>&lt;h2 id="getcomponentメソッド"&gt;GetComponentメソッド&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;UnityEngine&lt;/code&gt;には、&lt;code&gt;GetComponent&lt;/code&gt;というメソッドがあります。&lt;/p&gt;
&lt;p&gt;主に&lt;code&gt;GameObject&lt;/code&gt;にアタッチされているコンポーネントを取得するのに使用します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GameObject&lt;/code&gt;クラス、及び&lt;code&gt;Component&lt;/code&gt;クラス内に実装されているので、&lt;/p&gt;
&lt;p&gt;&lt;code&gt;MonoBehaviour&lt;/code&gt;を継承したコンポーネントクラス内からも呼ぶことが出来ます。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/ja/2022.3/ScriptReference/Component.GetComponent.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;Component-GetComponent - Unity スクリプトリファレンス&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】GameObject.Findの使い方と注意点｜遅い理由と代替手段</title><link>https://garnetcode.jp/blog/2024/07/about_find_method/</link><pubDate>Sun, 07 Jul 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/07/about_find_method/</guid><description>&lt;h2 id="findメソッド"&gt;Findメソッド&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Unity&lt;/code&gt;には名前でヒエラルキー上の&lt;code&gt;GameObject&lt;/code&gt;を検索するメソッドが用意されています。&lt;/p&gt;
&lt;h3 id="gameobjectfind"&gt;GameObject.Find&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GameObject.Find&lt;/code&gt;はヒエラルキー上のアクティブな&lt;code&gt;GameObject&lt;/code&gt;を取得します。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/ja/2019.4/ScriptReference/GameObject.Find.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;GameObject-Find - Unity スクリプトリファレンス&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;private&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; Awake()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; player = GameObject.Find(&lt;span style="color:#e6db74"&gt;&amp;#34;Player&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;また、パスを区切って階層化することも出来ます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;private&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; Awake()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; weapon = GameObject.Find(&lt;span style="color:#e6db74"&gt;&amp;#34;Player/Weapon&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="transformfind"&gt;Transform.Find&lt;/h3&gt;
&lt;p&gt;同様に&lt;code&gt;Tranform&lt;/code&gt;を検索する、&lt;code&gt;Transform.Find&lt;/code&gt;もあります。&lt;/p&gt;
&lt;p&gt;こちらは&lt;code&gt;GameObject.Find&lt;/code&gt;と異なり、インスタンスのメソッドになります。&lt;/p&gt;
&lt;p&gt;そのため対象の&lt;code&gt;Transform&lt;/code&gt;の子供から探してくることになります。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/ja/2019.4/ScriptReference/Transform.Find.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;Transform-Find - Unity スクリプトリファレンス&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;private&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; Awake()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; weapon = transform.Find(&lt;span style="color:#e6db74"&gt;&amp;#34;Weapon&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【Unity】SpriteAtlasでスプライトをまとめて描画する</title><link>https://garnetcode.jp/blog/2024/06/sprite_atlas/</link><pubDate>Sat, 08 Jun 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/06/sprite_atlas/</guid><description>&lt;h2 id="スプライトアトラスとは"&gt;スプライトアトラスとは？&lt;/h2&gt;
&lt;p&gt;スプライトアトラス（&lt;code&gt;Sprite Atlas&lt;/code&gt;）とは、スプライトの地図という意味になります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Unity&lt;/code&gt;では、&lt;code&gt;2D Sprite&lt;/code&gt;パッケージで提供されています。&lt;/p&gt;
&lt;p&gt;複数のスプライトを一つのテクスチャにまとめることで、描画パフォーマンスを向上させるのに役立ちます。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://docs.unity3d.com/ja/2022.3/Manual/SpriteAtlasV2.html" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--unitydocs"&gt;&lt;i class="fas fa-book" aria-hidden="true"&gt;&lt;/i&gt;Unity Docs&lt;/span&gt;
&lt;div class="blogcard-title"&gt;スプライトアトラス V2 - Unity マニュアル&lt;/div&gt;
&lt;div class="blogcard-site"&gt;docs.unity3d.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item></channel></rss>