「VキャスのVCIで◯ine◯raftっぽいもの作る Advent Calendar 2024」13日目
Vキャス内で、穴を掘って、石を砕き、木を切って、組み合わせて武器を作って、何なら出てくる敵を倒して・・・
そんなことをやりたいなぁっていう試みを12月でできるところまで行こうというカレンダーの13日目です!
情報表示板を持ち運べるようになったので、アイテムを受け取るという処理を今日は書いていきます。
持ち物の概念をつくる その5
土と石と木のVCIの処理を変更していきます。
今までは、連続で叩いたら運べるようになるという処理にしていましたが、持ち運ぶというのは情報表示板VCIに任せて、設置するブロック自体の実態は、土と石と木のVCIに任せます。
2つのVCIでメッセージのやり取りをするという実装を考えます。
手順は以下の通り
① 持ち運ぶブロックを情報表示板VCIに追加
② 土と石と木のVCIから持ち運ぶブロックを削除し、回収用ブロックを追加
③ 土と石と木のVCIのコードを変更
④ 土と石と木のVCIにメッセージ送信記述を追加
⑤ 情報表示板VCIにメッセージ受取り記述を追加
今日は①と②をやります。
手順
① 持ち運ぶブロックを情報表示板VCIに追加
UnityからVCToolkitを開きます。
情報表示板のVCIをHierarchyで開き、Cubeを追加します。
Cubeの名前は、動かすためのブロックなので「move_block」としました。
また情報表示板の眼の前に出てくれれば掴みやすそうなので、情報表示板の正面に配置しました。
Grabbableにチェックを入れ、Use Gravityのチェックは外し、Is Kinematicにはチェックを入れます。
更に、ブロックの種類によって色を変えたりしたいので、専用のマテリアルを作成しておきます。
Assetsの領域で右クリックし、CreateからMaterialを選択してマテリアルを作成しました。
こちらの名前もわかりやすいように「move_block」として、Cubeにつけておきます。
ここまでやったら情報表示板VCIは再度VirtualCastに投稿し直しておきます。
② 土と石と木のVCIから持ち運ぶブロックを削除し、回収用ブロックを追加
土と石と木のVCIにも変更を施します。
_move
がつくブロックを、10個だけ残して消します。
残した10個も動かすためではなく、触れたら回収できるというものにするので、collect_block
に名称変更して、ナンバリングを1~10とつけます。
また、掴めないようにするので、Grabbableのチェックを外します。
また、これらブロックは実態のブロックと1:1の数ではなくなったので、マテリアルの色を都度変えたりします。
そこで、マテリアルもブロックと同じ名前のものを合計10個作って同じ名前をつけて、同じ名前のブロックにつけておきます。
ここまでできたら、土と石と木のVCIも再度VirtualCastに投稿し直しておきます。
終わりに
オブジェクト本体の変更はこれで終わりなので、明日はコードの変更を書いていきます。