見出し画像

Cluster Creator Kit に初めてのベータ機能が提供されました!【Cluster Creator Kit v2.5.0リリース】

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

メタバースプラットフォーム cluster では、クリエイターのみなさんの創造力をより加速できるように制作環境の改善を行っています。
この記事では、cluster v2.92とCluster Creator Kit v2.5.0のリリースで利用できるようになったベータ機能について紹介します。


ベータ機能ってなに?

「正式リリース前だけど実際に体験できるよ」という位置づけのものは、ゲームやソフトウェアにおいてベータ版などのような呼称で一般公開されることがあると思います。
クラスターにおいてもこの度、 Creator Kit の機能の一部をベータ機能として提供開始しました。

クリエイターのみなさんは、Creator Kit の設定を変更することでベータ機能を使ったワールドやアイテムを cluster にアップロードして動作させることができます。
他の人が作ったベータ機能が入ったワールドを体験してみたい!という方も、ワールド一覧画面からベータワールドのみ集められたカテゴリを設置しますので、そちらから気になるワールドを探すことができます。

※ 画面はイメージです

ベータ機能は正式リリース前の状態にあるため、不安定な挙動をしたり将来的に挙動が変わる可能性があります。
しかし、その代わりにひと足早く新たなクラフトを体験することができます。

ベータ機能は Scriptable Item の JavaScript で用いる API として提供されており、Creator Kit の設定から有効化することで利用できます。
有効化されている状態でアップロードしたワールドやアイテムはベータコンテンツ扱いとなり、ベータ機能が動作するようになります。
なお、ベータコンテンツとしてアップロードされた場合、後から通常のコンテンツに元に戻すことはできません。
元に戻したい場合、ベータ機能の設定を無効化して別のコンテンツとして新しくアップロードしなおす必要がありますのでご注意ください。

ぜひベータ機能を使ったワールドやクラフトアイテムを作ってみてください!

ベータ機能でできること

この記事では、今回のリリースに含まれるベータ機能を使うとこんなこともできるよ、ということを少しだけ紹介していこうと思います。
ベータ機能はクリエイターキットのスクリプトリファレンス上で下記の画像のように  “Beta” というアイコンが付いている API が該当します。

草を刈る、草を生やす

刈っても刈っても伸び続ける草。
自然の力強さを感じる表現ができてしまいます!

この動画では、草を刈るときにはアイテム同士の重なり判定とアイテムの破棄、草を生やす時はアイテムの生成というように、新しい機能を用いて刈っても成長する草を実現しています。

ポータルガン

ワープできるポータルを射出する銃と、突入時の慣性がそのまま残るポータル。
ロマンあふれるポータルガンのようなアイテムが作れてしまいます。

今回のリリースでは、アイテムの生成や消滅および加速情報の取得や付与もできてしまいます。
動画ではこれらを駆使して、アイテムがあたかもポータル突入時の加速度を保ったままワープしているような挙動のポータルガンを作っています。

触れたらアウトなアレ

なんと、アクションゲームにあるような仕掛けが作れてしまいます!
センサーに触れてしまっても cluster なら自動で初期位置まで戻してくれる上に、センサーを意地悪に動かすことだってできます!

アイテムがプレイヤーの当たり判定を取ったり、プレイヤーの位置を制御したりする機能も今回のリリースに含まれています。
動画では、赤いセンサーがプレイヤーの衝突を検知すると、親切にも初期位置に戻すようにしています。

難しくないよ!

ここまで上げてきたサンプルは結構複雑なことをやっていたり、色々な組み合わせで実現したサンプルです。
一見して難しそうですが、簡単なスクリプトでもできることはたくさんあります!

たった 1行で、触れると大ジャンプできるアイテムが作れたりするんです!

$.onInteract(playerHandle => playerHandle.addVelocity(new Vector3(0.0, 10.0, 0.0)));

この動画では常識の範囲(?)のジャンプ力ですが、もっと激しく飛ばすこともできます。
これまではアニメーションや Collider を組み合わせて擬似的にジャンプさせることもありましたが、ベータ機能を使うと正真正銘の物理的にジャンプします!
その他、Creators Guideでも順次紹介予定です!

なんで “ベータ” という手段を用いたか?

さて、ここまでは「ベータ機能では色々できそう!」ということをひたすらお伝えしてきました。
最後に、「なぜ cluster はベータ機能を提供したのか?」という肝心な Why の部分にも触れておかなければなりません。
cluster がベータ機能を運用しようとしている理由は大きく分けて下記の 2つの軸に分かれます。

  • 価値提供を加速させる

  • Hackability を担保し続ける

価値提供を加速させる

cluster は人類にバーチャル空間を提供するプラットフォームです。
cluster の空間ではクリエイターが自身の創造力を最大限に発揮することができます。
これは、どれだけ自由な創造力の産物が生じたとしても全てのユーザーさんが安心安全に、且つ快適に過ごせる空間を提供し続けるという役割を cluster が担っているということを意味します。

今回のベータ機能で提供している Scriptable Item の API は、ほぼ直接的に空間に作用できる機能です。
そのため安全に動作する機能を提供しようと思ったら、動作検証等に非常に多くの時間が必要になってきます。
それでは創造力を加速できるという価値提供のスピードが落ちてしまう、そんなジレンマからベータ機能という枠組みの提供開始を判断しました。

ベータ機能の利用状況やフィードバック次第では、今後の開発計画の優先度を変更したりすることも想定しています。(開発計画の話はまた別の機会に!)
また、もしも重篤な問題が発見されたら正式リリースを諦めるというケースも起こり得ます。

Hackability を担保し続ける

ベータ機能で提供する機能の多くは、現段階ではバーチャル空間の原始的な機能がほとんどです。
今回リリースするベータ機能の内容はたくさんあるように見えますが、裏を返すとバーチャル空間における原始的な操作がこれまでほとんどできなかったことの証左でもあると思っています。

原始的な操作、例えば他のユーザーの位置情報を取得する、位置情報を書き換えるといったようなものは、ある意味クリエイターによる空間のハッキング権限です。
これは使い方によってはユーザーの安全性と背反しますが、 cluster ではクリエイターに正しく機能を使ってもらい、バーチャル空間をハックしてどんどん豊かな世界にしてもらいたいと考えています。
そのようなハック可能な空間の安全性を検証するためにも、ベータ機能というある自由に試用してもらうための枠組みが必要だったのです。

ベータ機能はいち早く新しい機能をお届けするという価値もありますが、バーチャル空間の安全性や快適性を担保したり、より良い正式リリース版をお届けするためにも重要な枠組みなんです!


いかがでしたか?
今回のベータに含まれる機能を使うと、これまでできなかったことや時間のかかっていたことがすぐに出来るようになります。
色々と冒険的な機能を盛りだくさん詰め込んでみたので、ぜひクリエイターのみなさんの創造力を加速してみてください!

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

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

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