表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
204/339

日向、『CCK 特定のプレイヤー ボタン ロック解除』ができるようになる

2025.01.29

↓の文章を削除しました。

『このへんです。

かくれてるとこに「このオブジェクトオンオフするよ」のコンポーネントがございます。』

写真撮りなおしたからもうこのくだり、いらなかったのに消し忘れておりました。

混乱なさってしまわれた方、大変申し訳ありませんでした!!


過去の自分へ:タイマーを使え。

『Item Logic』で、プレイヤーのパラメータを判定し、アイテムシグナル発火

シグナルをうけて『Grobal Timer』発動、グローバルのパラメータを操作。

待ち時間は0.01秒(最低)でOK。


挿絵(By みてみん)


 はい、今回は、クラスタークリエイターズキット(略してCCK)のおはなしです!

 CCKはクラスターのワールドをつくるのに使う、べんり機能のつまった作成環境です。

 これのおかげで『ワールドの入口はここにしまーす!』とか、『いすに座るぜ!』とか『ドアを開けるよ!』とか、『このワールドではジャンプ力6ばーい!』なんてことが、かんたんにできちゃうのです。

 しかし、ときに意外なワナにはまることもあったりします。

 そのひとつをなんとか脱出したときのことを、これからお話いたそうと思います。



 あれは、ざっと一週間くらい前のことでした。

 タイトルのワードでですね、検索したんですけれど……

 ダメでした。解決法、見つけられませんでした。


『何がしたくて、できなかったか』といいますと。


『ルームマスター権限を持った(=そのPlayerの権限が1の)プレイヤーが入り口わきのボタンを押すと、入り口のロックが解除される。

 このとき入り口の色が変わって、あたり判定もなくなるようにする。

※ボタンとあたり判定がダブるのをさけるため、入り口オブジェクトはボタンとは別の、親子関係もない、オブジェクトにしなければならない』


 っというのが、できなかったのです。

 なぜか。

 ここに注目です。


『※ボタンとあたり判定がダブるのをさけるため、入り口オブジェクトはボタンとは別の、親子関係もない、オブジェクトにしなければならない』


『ボタンとは別の、親子関係もない、オブジェクト』である、入り口オブジェクトに……

 ボタンからの影響を与えるのであれば……

 ワールド全体、どこにでも影響を及ぼせる、属性Globalの合図を出さねばなりません。


 プレイヤーがボタンを押すと、そのプレイヤーのパラメーターを見て、ボタン(もしくはその代理)が、判定を下し、合図を出します。

 けれど、ボタン(もしくはその代理)が判定を下しても、属性Globalの合図を出すことは、そもそもできない作りになっていたのです。



 パラメーターをみて判定して、その結果で合図をだす。

 計算して、こたえをだす。

 こういったことをやってくれるコンポーネントを『ロジック』とよびます。


 この『ロジック』、三種類ありまして、それぞれ担当範囲がちがうのです。

 プレイヤーのパラメーターだけをあつかう『Player Logic』。

 ワールドにおいてあるアイテムのパラメーターと、プレイヤーのパラメータをあつかうことができる『Item Logic』。

 ワールドのすべてに影響を及ぼせるパラメーターだけをあつかう『Global Logic』。


 まあだいたい読んで字のごとく、なのですが……

 これで計算をした結果を、どこに通知できるか。これがポイントです。


『Player Logic』は、Player(対象のプレイヤー個人)に。

『Item Logic』は、This(そのアイテム自身)かOwner(そのアイテムをさわったりしたPlayer個人)に。

『Global Logic』は、Global(ワールド全体)に。



 おわかりいただけただろうか……

 そう、GlobalにPlayerやItemから、影響を及ぼすすべがないのである。



『ドアと、それにかかわるコライダーをわけとくと、いろいろべんり、というかそれができないとこまるケースもある』ということは、『といれっ島』のドアをつくったとき(=『チビ猫、れすとるーむをこんがりベイクする』)にとりあげたのですが……


 ここにPlayerにまつわるあれこれをくわえようとすると、むりげー可してしまう、という事態に見舞われるわけなのです。



 いやいやいっくらなんだってそいつぁねーだろ。

 というわけでいろいろ試してみたところ、コンポーネント『Global Timer』がItemからのシグナルを受信し、Globalのパラメータをいじれることを発見したのです。

 こちらもうちょっと解像度を上げますと……


『Item Logic』は、Playerのもってるパラメーターを (も)読んで、判定や計算ができます。

 そしてその結果にもとづいて、This(そのアイテム自身)にたいして合図 (シグナル)を発することができます。

 ItemからItemへのシグナルなんで、これはとうぜん属性Itemのシグナルです。

 属性Itemのシグナルということは、『Global Timer』を始動できます。

 そうしたら『Global Timer』で、Globalのパラメーターを変えることができまるのです!


 まさかの『Global Timer』を使うことで、Logicだけではできなかった『GlobalにItemやPlayerから影響を及ぼす』ことが可能になるのです。

 つまり、Playerのパラメーターで、ワールドを動かすことが、できちゃうのです。


 もちろんこうなっているのには、理由あってのことと思います。

 日向レベルではまだはっきりしたことは言えないのですが、ワールド内の混乱を避けるためかと思われます。


 たとえば100人のプレイヤーがごちゃバトルするフィールドで、だれかのHPが1とか変わるたびステージギミックがぱぱっと変わるようにしちゃったら、カオス不可避です。

 すくなくともそこは一回タイマーをかませて、タイミングの交通整理をすることが必要……ということなのかもです。


(といれっ島のワープギミック、うまくいかなくてあきらめたやつも、もしかしたらこれで安定したのかもしれません……)




 今回はちょっと解説動画ふうに、つか脳内で無駄にHIKAKINさんボイスで再生しつつ、説明をがんばってみました!

 せっかくなので最後はHIKAKINTVふうに締めてみたいと思います!


 この話がよかったなーと思っていただけましたら『いいね』ボタン、評価、ブックマーク登録など、ぜひぜひよろしくお願いします!


 ぐっぶぁ~い(※リアルで出せない渋い声)



参考

Cluster Creator Kit ドキュメント

https://docs.cluster.mu/creatorkit/


クリエイターズガイドさん CCKコンポーネント早見表

https://creator.cluster.mu/2022/04/28/cck-quick-list/#Global_Logic

↑ こちらの記事は、日向がひそかに (勝手に)師と仰ぐvinsさんによるわかりやすい説明と、Cluster Creator Kit ドキュメントの当該ページへのリンクがまとまってます。

今回を書くときめちゃくちゃお世話になりました。要ブクマです!!


次回は『チビ猫、ふたたびの島をつゆぞらに浮かべる』1/27投稿予定です!

同日ワールドアップデート予定です。

どうぞ、お楽しみに!

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ