Language:

サイドバー

バーチャルキャスト公式Wiki

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:sample:oncollision:no2

棒で突くと勢いよく飛ぶビリヤードの玉を作る

onCollisionEnterを使用した、アイテムをぶつけた時に特定の力で別アイテムを動作させるサンプルです。

サンプルデータ

手順

オブジェクトが衝突したときの処理になるので「onCollisionEnter」を使用します。

各オブジェクトの設定は次のようになります。
SubItemのGroupIDは0以外で同じ数字にしておきます。
(同じ数字のSubItemはオーナー権が一致し、正しく物理演算が行われる)

GameObjectの「VCI Object」コンポーネントのScriptsのSizeを1に指定し、
Nameに「main.lua」を記入、Sourceに以下スクリプトを記入します。

AddForce(Vector3)はオブジェクトにVector3の力を加えます。

GetUp()でオブジェクトの上向き(ローカルY方向)単位ベクトルを得ることができます。
今回の場合はビリヤードのキューの先端の方向がy方向になっています。

VCIスクリプト

main.lua
function onCollisionEnter(item, hit)
    if (item=="bili_ball" and hit=="bili_q") or (item=="bili_q" and hit=="bili_ball") then
        local bili_ball = vci.assets.GetTransform("bili_ball")
        local bili_q = vci.assets.GetTransform("bili_q")
        bili_ball.AddForce(1000 * bili_q.GetUp())
    end
end
vci/sample/oncollision/no2.txt · 最終更新: 2023/09/29 20:25 by pastatto

ページ用ツール