LoginSignup
2
0

More than 1 year has passed since last update.

Hinge Jointでなんとかしてみた話

Last updated at Posted at 2021-12-04

はじめに

こちらの記事はVCI Advent Calendar 2021の第5日目の記事です。

今回はすぐに忘れてしまうHinge Jointの設定をメモ代わりに書いていこうと思います。
VCI作成者でHinge Jointを使おうと思ったのに、なんもわからん時に見ていただけると嬉しいです。

VCIでオブジェクトを動かしてみたい

3Dのオブジェクトをバーチャルキャストで動かしてみたいときに、VCIにLuaを入れて動かすのが一般的です。
でも、Luaを入れなくてもそれなりに動くVCIを作ることはできます。

今回はLua無しで、UnityのHinge Jointを使って銃の的を作ったお話です。

Hinge Jointで何ができる?

Hinge JointはJointの中にある設定でできます。
代表的な使い方は、ドアの蝶番なんかの動きになります。
VCIで有名なのは公式さんのサンドバックが有りますね。

銃の的を考える

銃の的を作るときは、何かが当たったときにドアが開くようなイメージです。
Luaで作ろうと思うと、当たり判定、角度計算なんかで結構大変です。

UnityのHinge Jointを使うと銃の的をこんな感じで作ることができます。
・銃の弾などが当たると、的が動く
・動いた的がもとに戻る

それだけです。

銃の的の構成

銃の的のオブジェクトです。
image.png

Unityだけで作れる簡単な構成になっています。
TargetBaseがSubItemで土台と棒、Quad01-04が的になっています。

Quadの方は適当なテクスチャを貼り付けて的っぽくしておきます。

Hinge Jointの設定

Hinge Jointは的の方(Quda01-04)に入れます。
Quad01内のHinge Hointの設定です。

image.png

Connected Body:今回は土台となる"TargetBase"のSubItemを設定します。土台が親になります。
Anchor:Hingeの回転の根元の座標を設定します。
Axis:回転方向です。今回はY軸を中心に回します。
Auto Conifure…:ここのチェック外してConnected Anchorを設定します。
Connected Anchor:アンカーの位置です。ここは的のY軸の値を入れています。
Use Spring:的が動いた後に自動で戻すのでONにします。
Spring:今回はSpringの強さを0.5で設定しています。
Motor:VCIでは使えません
Use Limits:回転の上限下限を設定できます。
適当に飛ばして。
Mass Scale:的の重さになります(たぶんそんな感じ)、的の値は最小値に設定。
Connected Mass Scale:親側のTargetBaseの重さです。

最後の2個のMassの設定をすることで、TargetBaseをつかんでもプルプルしない設定にすることができます。

的をもっと多機能にしたい

当たったときにポイントを入れる、当たったときにエフェクトや音を出したい。
なんて思った方は、Luaで作成してください。
的もSubItemで作っているので、判定も簡単に追加できるかもしれません。

問題点

簡単に作れるものは何か問題があります。
この銃の的は所有権を持ってないとちゃんと動きません。
所有権を持った状態で銃を使ってください。

おわりに

今回作成した銃の的をTSOにアップしましたのでご参考に。
銃とかの的
2021120401055613.jpg

Hinge Jointは使い方でいろいろ遊べると思いますので、いろいろやってみてください。
2021120401072376.jpg

TSO にゃふ屋

それでは、まったね~。:blush:

2
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
2
0