見出し画像

スクリプトなしでアイテムをランダムに発生させる

 clusterにゲームワールドをアップロードするためにUnity触ってます。まぁ今週は金曜の夜になってやっとはじめたところなんですけど…締め切りもうすぐですね。

 さて、作り始めたころ、Unityのプレビュー見て大体できたと思って、clusterにワールドアップロード(まだ公開してないです)したら、アイテムにアタッチしたスクリプトが全然動かなかった話しましたっけ? 

 スクリプトでオブジェクト生成したり、ランダムにアイテムが発生する処理を書いてたんですけど、全然動かない。当たり前ですよ。何のためにCreater Kit作ってくれてるんだって話ですよね。

 とはいえ、ランダムに敵キャラが発生してくれないとゲームにならん!! だが、スクリプトは使えない…というわけでColliderをトリガーにして原始的な方法で解決しました。

 …やりたいことは、空からランダムな位置にランダムな種類のアイテムが降ってくる、ということです。そのために上空にルーレットみたいなものを作りました。

1.prefabのボールを回転しているポンデライオンみたいなオブジェクトの上に落とす。
2.ポンデライオンの「たてがみ」は、スフィアコライダーになっていて、ボールが衝突すると、それぞれ別のアイテムを生成する。これは8種類。
3.ポンデライオンで生成されたアイテムを下の回転する十字架で攪拌する。

 という感じです。ここでコライダーで生成するアイテムの発生する場所はコライダーから少し離したほうがいいです。アニメーションするコライダーだと衝突しまくって無限増殖します…というのを前回書きました。
 あとはレンダリングしないようにメッシュをオフにしてしまえば、空を見上げると、どんどんアイテムが生まれてくるようになります。
 アニメーションするコライダーを使ったギミックは本当に便利です。ほかにもいくつか使ってます。一定期間ごとにフィールドを周回してアイテムをDestroyしてくれるオブジェクトとか作れます。
 ただ、Hello Cluster見てたら、近々ロジック(計算ができるらしい)が追加されるといってたので、数か月後にはもっと簡単にできるかもしれません。
 それにしても、そろそろ締め切りも見えてきたのに、フィールド全然作ってないので、これから作ります。

この記事が気に入ったらサポートをしてみませんか?