![見出し画像](https://assets.st-note.com/production/uploads/images/80454890/rectangle_large_type_2_c348de96bb62261e1beb6d843c76710b.png?width=1200)
着席すると離席中表示が表示出来る椅子を作ってみた。
![](https://assets.st-note.com/img/1654930331523-WiprrRuNip.png?width=1200)
離席中/退席/作業中やご飯中、作業/勉強中やトイレに行く少しの間だけそれとなく知らせたい、そう思っている方はいませんか?
Clusterで「離席中」のエモートを組み込んだアバターを見かけますが、
ワールド側で対応できたらいいなぁと思ったので
離席/退席/作業中が表示できる椅子を作ってみました。
こちらで作る椅子は
↓のワールドで試せます。
https://cluster.mu/w/161c7dd0-8728-42e4-afd0-d699a9175acf
*この記事は、「椅子の作り方」「スイッチギミック」「基本的な操作」を要求します。
この記事が少しわかりにくいと感じる方は、下記のクリエーターズガイドで一通り基礎を学んでおいください。
↓
効率的にワールドを作成するために覚えておきたいUnityショートカットキーまとめ
「離席中」が表示出来る椅子を作ろう。
まずオンオフスイッチの仕組みを作ります。
スイッチの作り方は下記を参考にしてください。
#cluster Creator Kit ON/OFF スイッチの作り方
*重要なことです、上記のチュートリアルでは信号をやり取りするのに
globalを使ってますが、椅子を増やした時に別々に動いて欲しいので、This もしくは Itemを選びます。
![](https://assets.st-note.com/img/1654933353831-3DPTdM13Qq.png?width=1200)
(仲間内で通じるスラング(This)と流行語(Global)みたいなものですね。(Σ違う))
さて、全てをThisに出来たら、
HierarchyでONSwitchの中に3DObject>3D TextでNewTextを作成しCtrl +D (dommand⌘+D)でオブジェクトを4つ追加し、座った時に頭の上に表示されるように全てを一つずつ移動します。
New Text >Font Size を30にし、TEXTを離席中と入力します。
どの方角から見ても表示されるように、TEXTを四つ作り正方形の形に置き直します。
オブジェクトの移動方法↓
https://youtu.be/Q_K6fFTHphE?t=92
これで、ボタンを押したら離席中と表示されるシステムができました。
次はこれを座った時だけ表示させる仕組みにします。
椅子を作りましょう。
椅子の作り方は下記を参照してください。
イスをつくる━座れるオブジェクトをつくってみる。
離席中表示が出る仕組みを作ろう。
椅子ができたら、次はRidable Itemのコンポーネントを追加したobject(cube)に
椅子を座った時に先ほどのギミックが表示できる仕組みを用意します。
Ridable ItemにOn Get On Item Trigger (Script)のコンポーネントを追加します。
SpecifiedItem(特定のアイテム)を選び先ほどのスイッチの親オブジェクト(ONOFFSwitch)を選択肢して
OnAFKと打ち込みます、Boolにチェックを入れます。
これで On Get On(座った) した時に
ONOFFSwitch Item(さっき作ったやつ)が表示されます
Set Game Object Active Gimmick (Script)(Boolにチェックが入ってたらアイテムを表示させるよ)にOnAFKという信号がONで入って欲しいので ONOFFSwitch Item にSet Game Object Active Gimmick (Script)のコンポーネントを追加します。
KeyはOn AFKにします。
表示させたいItemはONOFFSwitchです。
HierarchieからItemの欄にONOFFSwitchをドラッグ&ドロップもしくは右の◉ボタンからSelect Itemウィンドウを表示させてONOFFSwitchを探しましょう。
OnSwitchをInspector で 初期表示を非表示にしていたと思いますが、
全体も椅子に座る前は表示してほしくないのでONOFFSWitchのInspectorを非表示します。
Ridable Itemに戻って今度は On Get OFF Item Trigger (Script)のコンポーネントを追加します。
先ほどと同じようにSpecifiedItemで(ONOFFSwitch)を選択肢して
OnAFKと打ち込みます。
立ち上がった時に表示を消したいのでBoolのチェックを外します。
これで立ち上がった時にスイッチは消えます。
しかし、離席した時にボタンの状況がリセットされないので、着席中に離席中ボタンを押したまま離席すると次に着席した時に離席中の表示のままになってしまいます。
・・・?🤔
・・・私は何を言っているんでしょうか?
自分で何が言ってるかわからなくなったところで、
これを解消するために、離席した時にスイッチの状態を戻すBool値を送ります。
Ridable ItemのOn Get OFF Item Trigger(Script) にToggle, isOn ,isOffをそれぞれ追加します。
前と同様にSpecifiedItemで(ONOFFSwitch)を選択肢してください。
疲れたと思いますが、ここが一番重要で、最後のパートです。
isOffだけBoolにチェックを入れます。
これで立ち上がったリセットされるようになりました。
![](https://assets.st-note.com/img/1654932754937-dFEZzT9tlj.png?width=1200)
![](https://assets.st-note.com/img/1654932805683-Fu4sfCtACw.png?width=1200)
この記事で使うコンポーネントは。
Item Logic
Ridable Item(Script)
Interact Item Trigger
On Get On Item Trigger(Script)
On Get OFF Item Trigger(Script)
Set Game Object Active Gimmick (Script)
手順は→オンオフスイッチを作る→文字を追加する→座ったら表示されるようになる。 でした。
拡張設定
Offのオブジェクトを閉じた本やノートブック、Onのオブジェクトを開いた本やノートブックにすることで作業中っぽさを出す事ができます。
![](https://assets.st-note.com/img/1654930271891-93GtNESif2.png?width=1200)
私のワールドにはさらにセーブ機能を使って椅子の色を変えたり、言語レベルを表示できる仕組みを取り入れています。次回のチュートリアルで解説予定です。
こちらで遊べるので試してみてくださいね。
Cluster Language Exchange ワールドは日本語を覚えたい海外の人や英語を勉強したい日本人の人がそれぞれ友達を連れて遊びに行くのに適した場所です。 ひらがなやアルファベットを使って単語当てゲームを遊んでみてください。
アイテム配布
さて、チュートリアルなんて読んでられないよと最後までスクロールした人向けに、データをBoothで配布しています。
不具合があったらコメントまで気軽にどうぞ。
Blenderの使い方が解らなかったので、i PadだけでClusterのワールドを作ってみました。
Clusterに3Dスキャンしたワッフルを追加したい。