0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VキャスのVCIで◯ine◯raftっぽいもの作るAdvent Calendar 2024

Day 13

持ち物の概念をつくる その5-1

Last updated at Posted at 2024-12-16

「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にはチェックを入れます。
image.png

更に、ブロックの種類によって色を変えたりしたいので、専用のマテリアルを作成しておきます。
Assetsの領域で右クリックし、CreateからMaterialを選択してマテリアルを作成しました。
こちらの名前もわかりやすいように「move_block」として、Cubeにつけておきます。

ここまでやったら情報表示板VCIは再度VirtualCastに投稿し直しておきます。
image.png

② 土と石と木のVCIから持ち運ぶブロックを削除し、回収用ブロックを追加

土と石と木のVCIにも変更を施します。
_moveがつくブロックを、10個だけ残して消します。
image.png
残した10個も動かすためではなく、触れたら回収できるというものにするので、collect_blockに名称変更して、ナンバリングを1~10とつけます。
image.png

また、掴めないようにするので、Grabbableのチェックを外します。
image.png

また、これらブロックは実態のブロックと1:1の数ではなくなったので、マテリアルの色を都度変えたりします。
そこで、マテリアルもブロックと同じ名前のものを合計10個作って同じ名前をつけて、同じ名前のブロックにつけておきます。
image.png

ここまでできたら、土と石と木のVCIも再度VirtualCastに投稿し直しておきます。
image.png

終わりに

オブジェクト本体の変更はこれで終わりなので、明日はコードの変更を書いていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?