--←はコメントアウトで説明を書くときなどに使う。 --アセットの取得 local Gun = vci.assets.GetTransform("Gun") --UnityのObject名が「Gun」の物を Gun に取得。位置や回転を扱えるようにする。 local Bullet = vci.assets.GetTransform("Bullet") --UnityのObject名が「Bullet」の物を Bullet に取得。位置や回転を扱えるようにする。 --銃をuseした時前方に弾を飛ばす function onUse(use) local GunPos = Gun.GetPosition() --銃の位置を取得。弾を銃の位置と合わせるのに必要 local houkou = Gun.GetUp() --銃の前方を取得。UnityのCylinderの場合、上が銃の前方になるのでGetUp()を使用 --弾を銃の前方に飛ばすのに必要 Bullet.SetPosition(GunPos + houkou*1.5) --弾の位置を銃の位置(GunPos)から少し前方(houkou*1.5)に設定する。 Bullet.SetVelocity(Vector3.zero) --弾のrigitbodyにかかる速度をゼロにする。(1発目に撃った弾の速度を0にしてから力を加えないと挙動がおかしくなるため。) Bullet.AddForce(3000*houkou) --弾に(銃の方向×3000)の力を加える。 --3000の値を大きくすると弾速が速くなり、小さくすると遅くなる。 end