Creator Kitで数を数える
なので以下の記事は過去の遺物になりました。
(ちなみにBoothのやつ の中身はLogic対応にしたので、Logicの参考とかに使って下さい) ---- 以下遺物 ----
Creator Kitにはトリガー・ギミックというゲーム制作用の機能が追加されましたが、現状ではトリガーやギミックは決まった行動を起こすことしかできません。しかし、いろいろな工夫をすれば「それなり」の計算をするギミックを作ることができました!
簡単な方法: アニメーター
Unityにはアニメーターという機能があって、どのような状態遷移をするかも自分で作ることができます。
例えば、初期状態を0の状態とする、0の状態でTriggerがセットされたら1の状態になる、1の状態でTriggerをセットされたら2の状態になる……とすることで、Signalを読み取った回数を数えることができます。
https://gyazo.com/c4c8fcd5c764da5264b1df476aeff768
この方法は手軽なのですが、2つ問題があります。
後から入ってきた人に同期されない
連続で増やすとズレることがある
逆に言えば、この2点が問題ない使い方ならこれでも十分かもしれませんね。
MovableItemで数える
後から入ってきた人にも同期されるものとして、今回はMovableItem(位置が同期されるアイテム)を使います。
ギミックの中にはWarpItemGimmickというものがあるのですが、これのTargetTransformをアイテムの子に設定することで、Signalを読み取るごとに決まった値移動するアイテムを作ることができます。
大きな数値を足すには、TargetTransformを遠くしたWarpItemGimmickを増やせば作れますね
https://gyazo.com/058f5a9d1ad7baeaa379f6e6f3b392fa
https://gyazo.com/2ab9cb311b59c57d22884394c0ccbd6b
このアイテムがどれだけ移動したかを取得することで、Signalの回数を表示できそうですね。アイテムがある領域に入ったかどうかはOnCollideItemTriggerで判断することができます。
https://gyazo.com/a098ab54ae74e229dda77feaa2e9fc14
これをコピーして必要な数(今回は10個)並べます
結果の表示にはアニメーターを使いました。もっといい方法がないか募集しています。
桁上りを実装する
大きな数を表示できるようにするには桁上りを実装したいですね。桁上り自体は結構簡単で、その桁が10以上になったらその桁を10戻して次の桁を1増やせばOKです。
10以上になったことは、数値表示と同様にOnCollideItemTriggerを置いて判断しています。
https://gyazo.com/a04ecd389f4aa3f90c69f97004bc4340
prefab配布
Logic対応にしたので中身が変わりました
ボタンを押した時の演出も入っています
(デモでは効果音が入っていましたが、再配布不可なので入っていせん)
もっといい方法あるよ、とかこんなことできるよ、とかがあればぜひwikiに書いてくださいね!