3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Vket Cloud】動画つき!ゼロから始めるHeliScript超入門⑧ - HeliScriptでシーン上のアイテムを取得する

Last updated at Posted at 2024-10-30

はじめに

Vket Cloudでは、「HeliScript」という独自のスクリプトを使用してコーディングを行うことで、ワールド内に高度なギミックを導入することが出来ます。

本記事では、HeliScriptでシーン上のアイテムの情報を取得する方法を紹介します。

動画

「アイテム」って?

Vket Cloudにおける「アイテム」とは、ワールドを構成するオブジェクト要素のことです。
VketCloudSDKのビルドと実行機能を使用した後、releaseフォルダのdata/Sceneフォルダ内にある、ワールド情報が記載されたjsonファイルにて、itemsという項目にある各要素がこれに該当します。

ワールド情報が記載されたjsonファイルの確認方法

image.png
ビルド後、VketCloudSDKタブのツール > Releaseフォルダを開くを選択することでreleaseフォルダを開けます。

image.png
releaseフォルダ内のdata/Sceneフォルダ内にあるjsonファイルがワールド情報が記載されたjsonファイルになります。

image.png
この中の「items」項目の中に含まれている各要素が、シーン上の「アイテム」となります。
基本的にはUnity上で設定した名称と同じものに無ります。

アイテムの生成方法

アイテムは、Unity上でVKC Item ○○という名前のUnityコンポーネントを使用した際に生成されます。(例:VKC Item Field)
※各Unityコンポーネントの使用方法につきましては、ヘルプページを参照してください。

アイテムを取得する

HeliScript上でアイテムを取得するためには、Itemクラス変数宣言と、hsItemGet(string itemName)関数またはhsItemGetSelf()関数を利用します。

hsItemGet()

hsItemGet(string itemName)関数は、引数で指定した名称のアイテムを取得する関数です。

    // シーン上にWorldという名前のアイテムがある場合
    Item m_world; // アイテムクラス変数「m_world」を定義
    m_world = hsItemGet("World");

上記の例では、アイテムクラス変数「m_world」にアイテム「World」の情報を取得して格納しています。

hsItemGetSelf()

hsItemGetSelf()関数は、この関数を発火したコンポーネントが所属するアイテム自体を取得する関数です。
例えば、VKC Item Fieldコンポーネントが付いているオブジェクト「Field_A」に対しVKC Attribute Scriptをアタッチし、その中で使用しているHeliScriptでhsItemGetSelf()関数を使用した場合、Field_Aの情報を取得することが出来ます。

取得したアイテムの名前を取得

Itemクラスでは、表示/非表示や移動など、アイテムに対し様々な機能を使用することが出来ます。
ここでは、hsItemGetSelf()にて取得したアイテムの名称を取得する方法を紹介します。

    Item m_Item; // Itemクラス変数「m_Item」を宣言
    m_Item = hsItemGetSelf(); // コンポーネントが所属するアイテム自体を取得
    hsSystemWriteLine("このスクリプトを持つアイテムの名前は%sです" % m_Item.GetName());

Itemクラスが持つ関数の一つにGetName()があります。
これは、アイテムの名前をstring型で出力する関数です。

上記の例を「ItemExp」という名前のアイテムが実行した場合、「このスクリプトを持つアイテムの名前はItemExpです」といった出力がされます。

次 : ⑨ HeliScriptのUpdate()関数について
前 : ⑦ HeliScriptで制御構文を使う(for、while)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?