【Resonite】意外と知られていないFluxノード「Allocating User」の使い方

この記事は[その2 Resonite Advent Calendar 2023](https://adventar.org/calendars/9005 "その2 Resonite Advent Calendar 2023")の23日目の記事です。
昨日はChameleonO2さんの鐵道の話 です。

# 「Allocating User」の使い方
<img width="400" alt="2024-01-03 09.04.47.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/abd56d3e-853c-85ab-5b6a-c484a3ea67be.jpeg">


> AllocatingUserノードは、入力された`Element`を読み込んだユーザーを出力します。

「allocate」は「割り当てる」という意味の英単語（Google翻訳）。
その`Element`に割り当てられたユーザーを出力してくれる便利ノードです！

### 概要
> デフォルトの出力は*null*です。このノードに、任意のスロットやコンポーネントを入力することができます。

`Element`は`<IWorldElement>`のことで、スロットやコンポーネント等のワールドに存在する要素がつながります。

### 場所
ノードブラウザ、Referencesの下にあります。
<img width="250" alt="2024-01-03 09.03.49.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/88a64822-95fb-df03-bd6c-8ac68ecff0b0.jpeg"> → <img width="251.4" alt="2024-01-03 09.03.59.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/74dff027-9cbb-331b-cbc1-5eccec07fc5d.jpeg">

### 使い方


<dl>
  <dt>Slotに使用</dt>
  <dd><img width="" alt="2024-01-03 08.59.48.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/cc091c6c-dff1-a6cf-c1b1-492f9cf0a3ac.jpeg">
</dd>
  <dd>BoxのSlotを入力に繋ぐと、箱を生成したUserが取得できました。</dd>
  <dd>　</dd>
  <dt>コンポーネント</dt>
  <dd><img width="" alt="2024-01-03 09.50.12.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/f6d282b5-0971-ba46-5417-c7758f4e245f.jpeg">
</dd>
  <dd>Spinnerのコンポーネントを入力に繋ぐと、コンポーネントをアタッチしたUserが取得できました。</dd>
  <dd><img width="" alt="2024-01-03 10.05.17.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/d0ca3cfc-2014-ff9a-d267-dd50e55cbbda.jpeg">
  <dd>他のユーザー（よっしーさん）でも動きます。</dd>
</dl>

### 例１：ツールをスポーンした瞬間に装備するFlux
<img width="" alt="2024-01-03 10.55.20.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/e273d0a5-affb-00f2-9545-92d72d25d4e8.jpeg">
Allocating UserとOn Loadedはとても相性が良いです。画像のようにFluxを組むとツールをスポーンした瞬間に装備することができます。ちなみに画像ではダッシュメニューで設定できるプライマリーコントローラーに装備するようにしています。

<img width="500" alt="スクリーンショット 2024-01-03 201438.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/8e06ae88-5c7d-11d6-11c7-33e2e2fc4429.png">


UniPocketにFlux含むツールをアップロードしたので以下のリンクから取得してください。

https://uni-pocket.com/ja/items/b55d95c3-dfd3-4d5c-b7fe-04e29f543d26 

### 例２：自分が出したギズモだけを削除するDevTool
<img width="" alt="2024-01-03 12.27.45.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/37589088-b98a-e730-7406-5a0a4b47e7e2.jpeg">

Allocating Userを使うとギズモを出したユーザーを取得することができます。Async Forと合わせることで、自分が出したギズモだけを削除するFluxを組むことができます。

こちらもUniPocketにアップロードしたので以下のリンクより取得してください。

https://uni-pocket.com/ja/items/49e82f1f-6554-40fb-b3bb-3fcc50ad0aad 

### 備考
<img width="" alt="2024-01-03 11.04.03.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/78768611-d27c-f676-8796-ceeb5eee3e28.jpeg">

Allocating Userの入力にLocalUserを繋げたら、HostのUser（けーわいさん）が出力されました。これは面白いですね。

<img width="" alt="スクリーンショット 2024-01-03 200439.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626996/7a54c7dc-9179-fb48-d2cd-bc9bd1e1b9ec.png">

### まとめ
いかがでしたか。今回はAllocating Userというノードについて解説していきました。他にも色々な使い方があると思います！
ぜひ皆さんの創作の糧にしてくださいね！