クリック判定できる可動オブジェクトの作り方
VKC Item ObjectはItemでありNodeではないため、 こちら のマニュアルにあるクリック判定の方法のGetNodeIndexByNameが使用できません。ですが別のアプローチでクリック判定をもちながら移動するオブジェクトはVketCloudで実現可能です。下記の手順を行います。
Floorの設定
- Cubeを作成、名前をFloorにします。
- Scaleを
100, 1, 100
に設定します。 - Positionを
0, -1, 0
に設定します。
HEOとHEMの出力
- Rootと名前をつけた空のGameObjectを作成します。
- Rootの子供にCubeを作成します。
- Rootに
Animation
のコンポーネントをAddします。 - Cubeが左右に移動するAnimationClipを作成します。
- Rootを右クリックし、
VKCHelper>Export Motion
- 作成されたHEMファイルをAssetsフォルダ以下に保存します。
- CubeにVKCNodeColliderをAddし、
ColliderType
をClickable
にします。 - Rootを右クリックし、
VKCHelper>CrateVKCObject
- Root_VKCItemObjectが生成されます。Rootは不要になったので削除します。
- 生成されたRoot_VKCItemObjectの
ScenePreview
をONにします。 - オブジェクトモードを
Motion
にします。 - Hemに作成したHEMファイルをドラッグアンドドロップします。
- LoopをONにします。
Click確認用TextPlaneの配置
- Textと名前をつけた空のGameObjectを作成。
- VKC Item TextPlaneをAddします。
- そのままだと確認しづらいのでPositionを
0, 2, 0
に設定します。 - テキストに
クリック回数: 0
を設定します。
HeliScriptの設定
- Projectのペインで右クリック>HeliScriptでHeliScriptを新規作成します。
- 下記HeliScriptをペースト。
component Sample
{
Item target;
int count;
public Sample()
{
target = hsItemGet("Text");
}
public void OnClickNode(int NodeIndex)
{
count = count + 1;
target.WriteTextPlane("クリック回数: " + count.ToString());
}
}
- Root_VKCItemObjectにVKCAttributeScriptをAddします。
- VKCAttributeScriptの+ボタンを押し、選択ボタンからSampleを選択します。
BuildAndRun
BuildAndRunをすると上記のようになります。移動するCubeをクリックするとTextのクリック回数が増えていきます。