<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Plugin on ながむしメモ</title><link>https://nagakagachi.github.io/categories/plugin/</link><description>Recent content in Plugin on ながむしメモ</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Mon, 16 Jan 2023 08:00:00 +0900</lastBuildDate><atom:link href="https://nagakagachi.github.io/categories/plugin/index.xml" rel="self" type="application/rss+xml"/><item><title>TextureArrayに対して実行可能なDrawMaterialToRenderTargetプラグイン[UE][Plugin]</title><link>https://nagakagachi.github.io/entry/2023/01/16/080000/</link><pubDate>Mon, 16 Jan 2023 08:00:00 +0900</pubDate><guid>https://nagakagachi.github.io/entry/2023/01/16/080000/</guid><description>&lt;p&gt;&lt;strong&gt;TextureRenderTarget2DArray&lt;/strong&gt; のSlice(配列の要素)を指定して &lt;strong&gt;DrawMaterialToRenderTarget&lt;/strong&gt; ができるUE&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3"&gt;プラグイン&lt;/a&gt;の公開.&lt;br /&gt;&#10;&lt;br /&gt;&#10;&lt;/p&gt;&#10;&lt;ul class="table-of-contents"&gt;&#10;&lt;li&gt;&lt;a href="#これは何"&gt;これは何&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#導入"&gt;導入&lt;/a&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#リポジトリの-NglTextureRt2dArrayUtil-をコピー"&gt;リポジトリの NglTextureRt2dArrayUtil をコピー&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#プラグインが読み込まれているか確認"&gt;プラグインが読み込まれているか確認&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#サンプル"&gt;サンプル&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#最後"&gt;最後&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="section"&gt;&#10;&lt;h3 id="これは何"&gt;これは何&lt;/h3&gt;&#10;&lt;p&gt;テクスチャ配列アセットの要素に対してマテリアル描画を実行できる&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3"&gt;プラグイン&lt;/a&gt;.&lt;br /&gt;&#10;UE標準のDrawMaterialToRenderTargetノードとほぼ同じで, TextureRenderTarget2DArrayとその何番目にDrawするかを指定できる.&lt;/p&gt;&#10;&lt;figure class="figure-image figure-image-fotolife" title="NglDrawMaterialToRenderTargetArraySliceノード"&gt;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/861d07799c56448bb066d90ed87790effc1e299a781ac42624bdfe1dd3f81712.png" width="635" height="420" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;figcaption&gt;NglDrawMaterialToRenderTargetArraySliceノード&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;内部で一時テクスチャの生成やコピーをする必要があったため, ゲーム中にリアルタイム利用するような用途向きではない点に注意.&lt;/p&gt;&#10;&lt;p&gt;エンジン改造無しで実装するためにこうなったが今後修正できるかもしれない(未定),&lt;/p&gt;&#10;&lt;p&gt;動作確認 UE5.1 &lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/Win64"&gt;Win64&lt;/a&gt;&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="section"&gt;&#10;&lt;h3 id="導入"&gt;導入&lt;/h3&gt;&#10;&lt;div class="section"&gt;&#10;&lt;h4 id="リポジトリの-NglTextureRt2dArrayUtil-をコピー"&gt;&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%DD%A5%B8%A5%C8%A5%EA"&gt;リポジトリ&lt;/a&gt;の NglTextureRt2dArrayUtil をコピー&lt;/h4&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/nagakagachi/ue_plugin/tree/main/distribution/NglTextureRt2dArrayUtil"&gt;ue_plugin/distribution/NglTextureRt2dArrayUtil at main &amp;middot; nagakagachi/ue_plugin &amp;middot; GitHub&lt;/a&gt;&lt;/p&gt;&lt;p&gt;自身のプロジェクトに Plugins &lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%A3%A5%EC%A5%AF%A5%C8"&gt;ディレクト&lt;/a&gt;リを作成し, その中に上記&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/Github"&gt;Github&lt;/a&gt;の NglTextureRt2dArrayUtil &lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%A3%A5%EC%A5%AF%A5%C8"&gt;ディレクト&lt;/a&gt;リをコピーペーストする.&lt;br /&gt;&#10;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/f2424a228885ead7b7aa13c3f7b15aff3414d42250c07db4f65015972a02007c.png" width="284" height="182" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/aca77d72e4d09e756c968b2805d1fc316bf69650a72292833f697b2076ba3d37.png" width="441" height="139" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="section"&gt;&#10;&lt;h4 id="プラグインが読み込まれているか確認"&gt;&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3"&gt;プラグイン&lt;/a&gt;が読み込まれているか確認&lt;/h4&gt;&#10;&lt;p&gt;プロジェクトを開いて 編集/&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3"&gt;プラグイン&lt;/a&gt; のウィンドウを開き, NglTextureRt2dArrayUtil&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3"&gt;プラグイン&lt;/a&gt;が有効になっていればOK.&lt;br /&gt;&#10;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/ba9a6d5dba272364ffaae21e9df37cab1595109385dec3a3c3cadd94fcc95860.png" width="882" height="460" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;div class="section"&gt;&#10;&lt;h3 id="サンプル"&gt;サンプル&lt;/h3&gt;&#10;&lt;p&gt;&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3"&gt;プラグイン&lt;/a&gt;コンテンツのEditorUtilityWidget &lt;strong&gt;EUW_DrawToRenderTargetArraySample&lt;/strong&gt; を右クリック-&gt;エディターユーティリティウィジットを実行 で簡易サンプルが起動する&lt;br /&gt;&#10;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/94f3c62a9e079ff9cbfadb7f2c79695b165aa870b0900170b20f7224f224d621.png" width="993" height="434" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/238bdee6dd0bf8828805c6c141ecc387c6ae3dff2355047f6878dd6bbbabdf64.png" width="1001" height="474" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;ウィンドウ左側にマテリアルと描画先Array要素番号(Slice Index)を指定.&lt;/li&gt;&#10;&lt;li&gt;ウィンドウ右側に書き込み先のTextureRTArrayアセットを指定。&lt;/li&gt;&#10;&lt;li&gt;Runボタン を押すとArray指定要素にマテリアル描画が実行される.&lt;/li&gt;&#10;&lt;/ol&gt;&lt;p&gt;下図は&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/Widget"&gt;Widget&lt;/a&gt;でSlice 0番に対して実行して, エディタでTextureRTArrayの Slice 0 を表示して結果を確認している様子.&lt;br /&gt;&#10;&lt;span itemscope itemtype="http://schema.org/Photograph"&gt;&lt;img src="images/aaba9895685d049e9eb1dd70e574973e2883642033bf736247f8afe0a99a26ea.png" width="1200" height="646" loading="lazy" title="" class="hatena-fotolife" itemprop="image"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&#10;&lt;p&gt;出来上がったTextureRtArrayをテクスチャ配列アセットに変換するなどご自由に.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="section"&gt;&#10;&lt;h3 id="最後"&gt;最後&lt;/h3&gt;&#10;&lt;p&gt;役にたった場合は&lt;a class="keyword" href="https://d.hatena.ne.jp/keyword/Github"&gt;Github&lt;/a&gt;のStarや使ったよというメッセージを貰えると嬉しいです!&lt;/p&gt;&#10;&lt;p&gt;そもそも作った理由はエディタでマテリアルを使って自由に色々なテクスチャ配列を作りたかったため.&lt;/p&gt;&#10;&lt;p&gt;面白い使い方やもっと良い機能案があればご連絡ください.&lt;/p&gt;&#10;&lt;br /&gt;&#10;&lt;p&gt;以上&amp;hellip;&lt;/p&gt;</description></item></channel></rss>