mcpField
M
msw-sprite-ruid

msw-sprite-ruid

github.com/msw-git開発389.9k 回インストール3 週間前に更新
リポジトリ

msw-sprite-ruid について

msw-sprite-ruid は、MSW のスプライトおよび UI コンポーネントでリソース RUID を使う方法を説明します。ランタイムコードやプロジェクトデータで、スプライト、アニメーションクリップ、静的サムネイルを設定する開発者向けです。

主な機能

  1. 01spriteまたはanimationclipのRUIDを設定
  2. 02UIランタイム値にDataRefを使用
  3. 03プレフィックスで静的サムネイルを表示
  4. 04ループ再生と状態アニメーションを区別
  5. 05直接設定できないリソースを説明

活用シーン

  1. 01ワールドエンティティのスプライトやアニメーション設定
  2. 02UIでスプライトやサムネイルを表示
  3. 03avataritemリソースをインベントリアイコンに利用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/msw-git/msw-ai-coding-plugins-official --skill msw-sprite-ruid

インストール後、Claude Code で/msw-sprite-ruidを入力して読み込まれたか確認します。

詳細

MSW Sprite RUID

SpriteRendererComponent.SpriteRUID(ワールド)または SpriteGUIRendererComponent.ImageRUID(UI)に RUID を割り当てる際のルールです。


ネイティブ型のサポート

どちらのコンポーネントも、sprite または animationclip の RUID を直接受け取れます。追加のアニメーターコンポーネントは不要です。

コンポーネントプロパティ値の形式(ランタイムの .mlua)ネイティブの RUID 型
SpriteRendererComponent(ワールド)SpriteRUID文字列sprite、animationclip
SpriteGUIRendererComponent(UI)ImageRUIDDataRef("...")sprite、animationclip

ImageRUID は DataRef です。ランタイムの .mlua では、DataRef(ruid) を割り当ててください。 { DataId: ruid } を使うのは、.ui/.model の JSON またはビルダーパッチデータのみです。 SpriteRUID は引き続き通常の文字列です。

-- World: sprite or animationclip RUID both work
self.Entity.SpriteRendererComponent.SpriteRUID = ruid

-- UI: sprite or animationclip RUID both work
self.Entity.SpriteGUIRendererComponent.ImageRUID = DataRef(ruid)

thumbnail:// プレフィックスなしで割り当てられた skeleton/avataritem の RUID は、エラーなしで失敗します(エラーは出ず、何も描画されません)。


animationclip:単一アニメーションと複数状態

  • ループする単一アニメーション(背景の装飾、待機エフェクト、小道具):SpriteRUID または ImageRUID に animationclip の RUID を直接設定します。
  • 複数状態(立つ/移動/攻撃/被弾/死亡):StateAnimationComponent + ActionSheet を使用します。詳しくは msw-general/references/monster.md を参照してください。

thumbnail:// プレフィックス — あらゆるリソースから静的サムネイルを表示

SpriteRUID または ImageRUID の前に thumbnail:// を付けると、あらゆるリソースから静的な サムネイル画像を描画できます。アイコン、プレビュー画像、アイテムのサムネイルに便利です。

thumbnail://<32-char hex RUID>

対応する型:sprite · animationclip · skeleton · avataritem

-- World thumbnail (any resource type)
self.Entity.SpriteRendererComponent.SpriteRUID = "thumbnail://" .. anyRuid

-- UI thumbnail (any resource type)
self.Entity.SpriteGUIRendererComponent.ImageRUID = DataRef("thumbnail://" .. anyRuid)
主な用途:avataritem のアイコン

avataritem の RUID は、thumbnail:// がないと描画できません。プレフィックスを付けると、インベントリのスロット、ショップの一覧、装備プレビュー用のアイテムアイコンになります。

slotEntity.SpriteGUIRendererComponent.ImageRUID = DataRef("thumbnail://" .. avatarItemRuid)

msw-search スキルの searchAvatarItems を使って、アバターアイテムの RUID を検索してください。


よくある落とし穴

  • skeleton/avataritem をプレフィックスなしで SpriteRUID/ImageRUID に直接設定すると、エラーなしで表示されません。
  • thumbnail:// が表示するのは静止画像のみです。アニメーションを動かすには、animationclip の RUID を直接割り当ててください(プレフィックスなし)。
  • ランタイムの .mlua では ImageRUID = DataRef("...") を使います。{ "DataId": "..." } オブジェクト形式を使えるのは .ui/.model の JSON のみです(プレフィックスは別フィールドではなく、DataId の中に指定します)。ランタイムコードでテーブル形式を使わないでください。LSP が DataRef 型の不一致として拒否します。
  • CostumeManagerComponent.Custom*Equip、StateAnimationComponent.ActionSheet、SkeletonRendererComponent.SkeletonRUID は thumbnail:// を受け付けません。
  • msw-search からサムネイルまたはアイコン画像としてすでに取得した RUID に、thumbnail:// を付けないでください。このプレフィックスは元のリソースをサムネイルに変換するもので、すでにサムネイルになっているスプライトに適用しても論理的に冗長です。検索クエリの対象がアイコン/サムネイル画像で、sprite の RUID が返された場合は、プレフィックスなしでその RUID を直接割り当ててください。
  • RUID を検索するには、msw-search スキルを使ってください。アバターアイテムには searchAvatarItems、それ以外には searchResources を使います。

コメント