見出し画像

商品ディスプレイアイテムのアバター商品に表情やポーズが設定可能に!スラッシュコマンドを追加 他【Cluster Creator Kit v2.25.0 リリースノート】

こんにちは、プロダクトマネージャーの Smith です。

メタバースプラットフォーム cluster では、クリエイターのみなさんの創造力をより加速できるように制作環境の改善や新機能の追加を行っています。
この記事では 10/7 の Cluster Creator Kit(以下、CCK) v2.25.0 で新たに提供される機能の仕様を紹介します。


Creator Kit v2.25.0 の利用方法

今回のリリースに含まれる機能を利用するためには cluster アプリと Cluster Creator Kit のアップデートが必要です。
Cluster Creator Kit のアップデート方法は以下を参照してください。

Creator Kit v2.25.0 のリリース内容

  • 機能追加

    • Player Local UI に Sorting Order Type オプションの追加 [CCK]

    • スラッシュコマンドの追加

    • CCK からのワールドのアップロード前後にコールバックを登録できるインターフェースを追加 [CCK]

    • ProductDisplayItem で配置するアバター商品用に表情やポーズの設定を追加 [CCK]

  • 仕様変更

    • PlayerScript トップレベル制限の廃止 [CCK・ベータ]

    • PlayerScript.onStart() の deprecate 化 [CCK・ベータ]

  • 不具合修正

    • 特定条件のワールドをアップロードするとアップロードが成功していても失敗扱いになる問題の修正

機能追加

Player Local UI に Sorting Order Type オプションの追加

Player Local UI に Sorting Order Type オプションが追加され、インタラクト可能な Sorting Order を選択できるようになりました。
スクリプトからの Player Local UI へのインタラクトの検知は今後追加予定です。
正確な日程はご案内できませんが 10月末〜11月を予定しております、今しばらくお待ち下さい。

このオプションを設定することで、Player Local UI がインタラクト可能となります。
Player Local UI をインタラクト可能にする場合、コンポーネントの構造や設定について指定があります、詳細はドキュメントをご確認ください。

スラッシュコマンドの追加

今回のリリースで新しくデバッグのしやすさの向上を目的としたスラッシュコマンドが追加されました。
スラッシュコマンドとは、より簡単にワールドのデバッグができるようになる機能です。

v2.17.0.1のスラッシュコマンドリリース時の説明動画

今回のリリースで追加されたコマンドはすべてワールドクリエイター用で、コマンドを叩いているワールドのクリエイターのみが実行できます。
追加されたコマンドは以下のとおりです。

  • /items

    • ScriptableItems の ID 一覧をコンソールに表示します。

  • /users

    • 入室中のユーザー ID 一覧をコンソールに表示します。

  • /item destroy itemId

    • アイテムの ID を指定して削除します。

  • /item owner itemId

    • 指定された ID を持つアイテムのオーナーのユーザー ID をコンソールに表示します。

  • /item state itemId

    • 指定された ID を持つアイテムの $.state の一覧をコンソールに表示します。

  • /item state itemId key

    • 指定された ID を持つアイテムの $.state から指定したキーの値をコンソールに表示します。

  • /item state itemId key valueType value

    • 指定された ID を持つアイテムの $.state に指定したキーの値を書き込みます。

詳しくは /help コマンドやドキュメントをご確認ください。

CCK からのワールドのアップロード前後にコールバックを登録できるインターフェースを追加

エディタ拡張でワールドのアップロード処理の前後に任意の処理を挟むことができるようになりました。
これによりアセットの前処理などを毎回自動的に挟むことができたり、そのような処理を行うエディタ拡張が配布しやすくなったりします。

詳しくはドキュメントをご確認ください。

ProductDisplayItem で配置するアバター商品用に表情やポーズの設定を追加

clusterでは、v3.0からワールド内でアバターが販売できるようになりました。
今回のアップデートで、ワールド内でアバター販売ができるProductDisplayItem で表示するアバターにアバターの姿勢や表情を設定できるようになりました。
設定は ProductDisplayItem のプロパティから指定できます。

姿勢には指定した AnimationClip の最初のフレームが適用されます。

表情は VRM 1.0 の Emotions Expression に対応しています。
VRM 0.x の表情にも対応していますが、表記が異なる点に注意してください。

詳細はドキュメントを参照してください。
https://docs.cluster.mu/creatorkit/item-components/product-display-item/

また、ProductDisplayItem を利用したアバターの展示は Creators Guide の記事でも紹介しています、そちらも是非、参考にしてください!
https://creator.cluster.mu/2024/09/09/avatar-productdisplayitem

※スクリーンショットのアバターは VRoid のサンプルアバターを利用しています
https://vroid.pixiv.help/hc/ja/articles/4402394424089-AvatarSample-A-B-C

仕様変更

PlayerScript トップレベル制限の廃止

これまで PlayerScript のトップレベルでは一部の API が実行できないという制限がありましたが、今回のリリースでその制限が廃止されます。
トップレベルとは以下のようなどの関数スコープにも属していない箇所を指します。

// ここがトップレベル

_.onFrame((dt) => {
  // ここはトップレベルではない
});

// ここもトップレベル

PlayerScript.onStart() の deprecate 化

PlayerScript トップレベル制限の廃止に伴い、 PlayerScript.onStart() が実質的に意味のない API になるため非推奨となります。
また、 PlayerScript.onStart() という名に反して一番最初に実行されることが保証されていないことも一因です。
PlayerScript.onStart() は将来的に廃止される予定ですので、 PlayerScript.onStart() をお使いの場合は以下のようにトップレベルへの移行をお願いします。

_.onStart(() => {
  doInitialThing();
});
// トップレベルに記述
doInitialThing();

不具合修正

特定条件のワールドをアップロードするとアップロードが成功していても失敗扱いになる問題の修正

ScriptableItem や PlayerScript で設定していたスクリプトが missing になっている状態でワールドをアップロードすると、アップロードが成功したにもかかわらず失敗扱いになる、という問題が Cluster Creator Kit v2.24.0 から発生していました。
今回のリリースでこの問題が修正されました。

ご意見・ご感想お待ちしています

cluster は、みなさんが楽しくバーチャル空間で創造できるように様々な改善を行っています。
Discord ではみなさんの要望を投稿したり、クリエイターさん同士でお互いの創作活動を支え合える場所を設けていますので、ぜひご活用ください!

Discordサーバー: Creator Community のご案内
https://docs.cluster.mu/creatorkit/support/creator-community/