【上級編】今のclusterでは出来「ない」・難しいモノ(ゲーム機能関係)
written by vins.icon
https://gyazo.com/85ab77789c44253550ef4205b40e0ebc
【初級編】今のclusterでは出来「ない」・難しいモノ(ゲーム機能関係)も参照。
弾が当たったとき、プレイヤーかItemか判断して何かする
「魔法の杖」で弾を撃てるゲームを考える。
弾が何かに当たったとき、それがコインなら5点入り、弾が消えるゲームとする。
これは作れる。
が、他のPlayerとかに当たったときも弾が消えてしまう。
別Playerとかに当たったときは無視して弾がそのまま飛び続ける……みたいなことができない。
Aが何かに当たったのでそいつにメッセージを送る!→Bが受信! そしてBはAにメッセージを送り返す! というのが今のclusterではできないので。
ついでに言うなら、魔法の杖が画面に複数ある場合は、全部違う杖・弾としてメッセージを管理しないと「誰に5点入るのか?」が処理できない。
2チーム制で得点をチームごとに管理するとかなら、まだ楽。2種類の杖と弾があれば足りる。
↑はまだいいが、弾が特定ブロックに当たったときだけそこにワープ、みたいのもできない(はず)。
作るなら「弾が何に当たっても、当たったところにワープ」みたいな仕組みになってしまう。
cluster公式のWarpgunも、何に当たろうとそこに飛んでいた(多分Playerに当たっても……)
Itemを持ちながら、ワールドに置いてある別の固定Itemを「使う」
できない。
が、On Collide Item Triggerを使い、ワールドに置いてあるモノをつっつくと何かが起きる……という形なら一応できる。
→ただこれも、Playerをワープさせたいとかになると難しい。
回復ポイントとワープポイントがあるとする。杖でつついて起動させたい。
回復ポイントのほうは、当たってきた杖に回復メッセージを送れるのでOK
(前述の通り、今のclusterはItemにHPを持たせるので)
だが、ワープポイントはどのPlayerの持つ杖に当たられたのか判定できない。
近くに来たPlayerを敵が追いかけてくる
簡単にはできない。
特定のアイテムをサーチするレーダーと、その方角を向く仕組み(概要のみ)というすごいアイデアを提示された方がいる。
が、Playerそのものを追いかけるのはムリ。
Playerの持ったアイテムを追いかけるならいけるかもしれないが、追いかけてくる敵が何体もいるようなゲームはかなり大変なはず……
おまけ:いまのclusterで戦う上で意外と便利なもの
途中でも出てきたが、Unity標準のConstraint。Unity公式
C#スクリプトが使える環境ならあまり出番がないが、スクリプトが使えないclusterではかなり出番がある。
Animation Controllerのアニメーションパラメーター。
同じくC#スクリプトが使えるならビミョーなところもあるが、clusterでは大活躍。
公式のチュートリアルでも色々なところで出てくる。
cluster公式1
cluster公式2
cluster公式3
ただし他プレイヤーと同期が上手くいかないこともあるので、対戦プレイの弾とか敵とか位置がシビアな問題になるモノに使う場合は注意。
Timelineを使うことでより良く同期できるもよう。 綺麗にレールに沿って動く鉄道を作る方法
が、やはりゲームの弾や敵向けではない?
シェーダーを使う。
難しさはあるが、他の機能と比べると意外なほどclusterでの制限が少ない。
「UVスクロール」などはワールドを作るときに結構使える機能。電光掲示板のような表示、ベルトコンベアのような表示、流れる川のような表示……
敵キャラを頂点シェーダーで微妙にぷるぷるさせたりしても良いかも。
ただ他プレイヤーとの同期は困難なので、「他のプレイヤーが見ているモノと見た目が微妙に違っても特に構わない」場面だけで使うと良い。
ワールド制作部
ゲーム機能