Language:

サイドバー

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

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:sample:ontrigger:no1

ボールが箱の中に入ったときや出たときに色を変える

onTriggerEnterを使用した、アイテムがコライダーを通過したときに色が変化するサンプルです。

サンプルデータ

手順

SubItemにCollider(Trigger)が接触したときに処理を実行するには「onTriggerEnter」を、
Collider(Trigger)が離れたときに処理を実行するには「onTriggerExit」を使用します。

1. 新しくGameObjectを作成し、その中にCube、Sphere、Planeを入れ子にします。

GameObjectの名前は「TriggerEnterExit_VCI」としていますが、任意の名前でも可です。
その他は以下のように設定します。

  • Cube(箱): 「Cube」 Y座標を1.0
  • Sphere(ボール): 「Ball」 Y座標を2.0
  • Plane(地面): 「Plane」 Y座標を0.0

2. Cubeの色を変更するため「TriggerMaterial」Materialファイルを新規作成します。
作成したTriggerMaterialを「Cube」のMaterialとして設定します。

3. GameObjectに「VCI Object」コンポーネントをアタッチし、
Cube、Ball、Planeに「VCI SubItem」コンポーネントをアタッチします。
この時、「Rigitbody」コンポーネントもアタッチされます。
CubeとPlaneは重力を使用しないため、「Use Gravity」をOFF、「Is Kinematic」をONにします。
Ballは物理挙動させるため、「Use Gravity」をON、「Is Kinematic」をOFFにします。

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

VCIスクリプト

main.lua
local green = Color.__new(0,1,0,0.5)
local red = Color.__new(1,0,0,0.5)
 
function onTriggerEnter(item, hit)
    if item == "Ball" and hit == "Cube" then
        vci.assets.material._ALL_SetColor("TriggerMaterial", red)
    end
end
function onTriggerExit(item, hit)
    if item == "Ball" and hit == "Cube" then
        vci.assets.material._ALL_SetColor("TriggerMaterial", green)
    end
end
vci/sample/ontrigger/no1.txt · 最終更新: 2023/09/29 15:59 by pastatto

ページ用ツール