Item クラス
Vket Cloud上でワールドを構成する際、Player以外の各要素はItemとして表現されます。
HEOField, HEOObject, HEOPlane, HEOActivityなどがこれにあたります。
Itemクラスは、ワールド内に配置されたHEOField及びその子オブジェクトであるNodeなど、個々のアイテムをHeliScriptにて操作するためのものです。
hsItemGet() などの関数を呼び出すことで、特定のアイテムを表すItemクラスのインスタンスを取得できます。
Itemクラスは多くのメソッドを持ち、これらのメソッドを呼び出すことで、様々な操作を行うことが可能です。
コンポーネントからItemクラスオブジェクトの取得方法
コンポーネント内のメソッドから以下のような呼び出しを行うことで、Itemクラスのインスタンスを取得できます。
Item instance = hsItemGet("アイテム名");
hsItemGetSelf() を利用することで、コンポーネントが所属しているアイテムのインスタンスを取得できます。
Item myitem = hsItemGetSelf();
Itemのユーティリティー関数
hsItemGet
Item hsItemGet(string itemName)
グローバル関数。指定した名前で HEOField 以下のアイテムを取得し、Itemクラスのインスタンスとして返す。
hsItemGetSelf
Item hsItemGetSelf()
グローバル関数。コンポーネントのコンストラクタや、Update(), OnClickNode() 等のメソッド内から呼び出すことで、コンポーネント自身が所属しているItemインスタンスを取得します。
メソッド
Equals
public bool Equals(Item obj)
引数 obj と自身の同一性を判定する。
hsItemGet() などで Item を取得する場合、同一の Item であっても別のインスタンスが返る場合があるため、同一性の確認には "===" 演算子ではなく Equals() を利用してください。
このメソッドを呼び出し可能なオブジェクトタイプ
GetName
public string GetName()
Item の名前を取得する。
このメソッドを呼び出し可能なオブジェクトタイプ
SetPos
public void SetPos(Vector3 pos)
Item を指定した座標に移動させる。
このメソッドを呼び出し可能なオブジェクトタイプ
GetPos
public Vector3 GetPos()
Item の座標を取得する。
このメソッドを呼び出し可能なオブジェクトタイプ
GetWorldPos
public Vector3 GetWorldPos()
Item のワールド座標を取得する。
SetQuaternion
public bool SetQuaternion(Quaternion Rotate)
Itemの回転を設定します。
このメソッドを呼び出し可能なオブジェクトタイプ
GetQuaternion
public Quaternion GetQuaternion()
Itemの回転をQuaternionとして取得します。
このメソッドを呼び出し可能なオブジェクトタイプ
GetWorldQuaternion
public Quaternion GetWorldQuaternion()
Itemのワールド回転をQuaternionとして取得します。
GetWorldRotate
public Vector3 GetWorldRotate()
Itemのワールド回転をVector3として取得します。
GetScale
public Vector3 GetScale()
ItemのスケールをVector3として取得します。
このメソッドを呼び出し可能なオブジェクトタイプ
SetScale
public void SetScale(Vector3 Scale)
ItemのスケールをVector3で設定します。
このメソッドを呼び出し可能なオブジェクトタイプ
MovePos
public void MovePos(Vector3 pos, float time, bool CollisionDetection = false)
posで指定した座標に、time秒かけて Item を移動させる。
CollisionDetectionがtrueの場合は、プレイヤーアバターと同等の衝突判定がおこなわれます。
このメソッドを呼び出し可能なオブジェクトタイプ
IsMoving
public bool IsMoving()
Item が移動中の場合はtrueを返す。
このメソッドを呼び出し可能なオブジェクトタイプ
Play
public bool Play()
サウンドやパーティクルの再生を開始する。再生処理の開始に成功すると true を返す。失敗した場合は false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
Stop
public void Stop()
サウンドやパーティクルの再生を停止する。
このメソッドを呼び出し可能なオブジェクトタイプ
IsPlay
public bool IsPlay()
オブジェクトのモーションやサウンドやパーティクルが再生中の場合は true を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
返り値について
- HEOAudio: オーディオクリップで設定したサウンドが再生中の場合はtrueを返す
- HEOObject: オブジェクトモードがMotionの際に、Motionリストに設定したhemが再生中の場合はtrueを返す
- HEOParticle: .hepで設定したパーティクルが再生中の場合はtrueを返す
SetShow
public void SetShow(bool flag)
true で Item を表示する。false で Item を非表示にする。
このメソッドを呼び出し可能なオブジェクトタイプ
IsShow
public bool IsShow()
Item が表示状態の場合は true を、そうでない場合は false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
ChangeMotion
public bool ChangeMotion(string MotionName)
MotionName で指定したモーションに動作を切り替えます。
このメソッドを呼び出し可能なオブジェクトタイプ
Load
public bool Load()
Item のロードを開始する。ロード処理の開始に失敗した場合は false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
Unload
public bool Unload()
Item をアンロードする。アンロード処理に失敗した場合は false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
IsLoading
public bool IsLoading()
Item がロード中の場合は true を、そうでない場合は false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
IsLoaded
public bool IsLoaded()
Item のロードが完了していた場合は true を、そうでない場合は false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
GetNodeIndexByName
public int GetNodeIndexByName(string nodeName)
名前でノードを検索し、該当するノードを識別するインデックスを返す。
GetNodeNameByIndex
public string GetNodeNameByIndex(int nodeIndex)
インデックスでノードを指定し、そのノードの名前を返す。
GetNodePosByIndex
public Vector3 GetNodePosByIndex(int nodeIndex)
インデックスでノードを指定し、そのノードの座標を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
SetShowNode
public bool SetShowNode(string nodeName, bool flag)
名前でノードを指定し、そのノードを true で表示、false で非表示にする。
IsShowNode
public bool IsShowNode(string nodeName)
名前でノードを指定し、そのノードが表示されている場合は true を、非表示の場合は false を返す。
SetRotateNode
public bool SetRotateNode(string nodeName, Vector3 rotate)
名前でノードを指定し、そのノードを回転させる。
このメソッドを呼び出し可能なオブジェクトタイプ
SetEnableCollider
public bool SetEnableCollider(string nodeName, bool flag)
名前でコライダーを指定し、そのコライダーを true で有効、false で無効にする。
このメソッドを呼び出し可能なオブジェクトタイプ
IsEnableCollider
public bool IsEnableCollider(string nodeName)
名前でコライダーを指定し、そのコライダーが有効なら true を、無効なら false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
SetClickableNode
public bool SetClickableNode(string nodeName, bool flag)
名前でクリック可能なノードを指定し、true でクリックを有効に、false でクリックを無効にする。
このメソッドを呼び出し可能なオブジェクトタイプ
IsClickableNode
public bool IsClickableNode(string nodeName)
名前でノードを指定し、そのノードをクリック可能なら true を、そうでないなら false を返す。
このメソッドを呼び出し可能なオブジェクトタイプ
SetUVOffset
public bool SetUVOffset(string materialName, float u, float v)
名前でマテリアルを指定し、原点を左上としてuv座標を変更する。変更に失敗すると false を返す。
UV座標原点について
通常のUnityプロジェクトではUVの原点(0,0)はUVの左下にありますが、HeliScriptでは左上を原点としていることにご注意ください。
PlayVideo
public void PlayVideo(string materialName, string url, bool loop)
再生するマテリアルを指定し、ビデオ再生を開始する。loop に true を指定するとループ再生を行う。
StopVideo
public void StopVideo()
再生中のビデオを停止する。
IsPlayVideo
public bool IsPlayVideo()
ビデオが再生中であれば true を返す。
ClearTextPlane
public void ClearTextPlane()
テキストを消去する。
このメソッドを呼び出し可能なオブジェクトタイプ
WriteTextPlane
public void WriteTextPlane(string text)
テキストを設定する。
このメソッドを呼び出し可能なオブジェクトタイプ
SetCamera
public bool SetCamera()
カメラタイプのアイテムをカメラとして設定する。
使い方についてはHEOCameraを参照してください。
このメソッドを呼び出し可能なオブジェクトタイプ
ResetCamera
public void ResetCamera()
SetCameraで設定したものを解除する。
使い方についてはHEOCameraを参照してください。
このメソッドを呼び出し可能なオブジェクトタイプ
ReplaceItem
public bool ReplaceItem(string URL)
指定したモデルデータでItemの内容を置き換えます。
このメソッドを呼び出し可能なオブジェクトタイプ
ReplaceTexture
public bool ReplaceTexture(string MaterialName, string URL)
MaterialNameで指定したマテリアルのテクスチャを、URLの内容で置き換えます。
このメソッドを呼び出し可能なオブジェクトタイプ
SetPhysicsEnable
public bool SetPhysicsEnable(string NodeName, bool Flag)
NodeName で指定したノードに対し、trueで物理演算を有効化、falseで無効化します。
このメソッドを呼び出し可能なオブジェクトタイプ
IsPhysicsFixed
public bool IsPhysicsFixed(string NodeName)
物理演算において、このItemが固定されている場合は true を返します。
このメソッドを呼び出し可能なオブジェクトタイプ
GetPhysicsIDByNodeName
public int GetPhysicsIDByNodeName(string NodeName)
ノード名を指定して、ItemのPhysicsIDを取得します。
このメソッドを呼び出し可能なオブジェクトタイプ
SetProperty
public bool SetProperty(string Key, string Value)
プロパティを設定します。
このメソッドを呼び出し可能なオブジェクトタイプ
GetProperty
public string GetProperty(string Key)
プロパティを取得します。Keyが存在しない場合は空文字列が返ります。
このメソッドを呼び出し可能なオブジェクトタイプ
CallComponentMethod
public void CallComponentMethod(string ComponentName, string MethodName, string Params)
Item に設定されているコンポーネントのメソッドを呼び出します。 ComponentNameでコンポーネント名を、MethodNameでメソッド名を指定し、メソッドを呼び出します。その際、Paramsで指定した文字列が引数として渡されます。
呼び出せるメソッドには、以下の制限があります。
- 引数として string を 1つだけ持つこと。
- 戻り値がvoidであること。
このメソッドを呼び出し可能なオブジェクトタイプ
SetOverridesProperty
public bool SetOverridesProperty(string Key, string Value, string ItemName)
overridesを設定します。同じKeyが存在すれば上書きされ、なければ追加されます。"itemname"を使用していない場合はItemNameには空文字列を指定します。
このメソッドを呼び出し可能なオブジェクトタイプ
GetOverridesProperty
public bool GetOverridesProperty(string Key, ref string Value, ref string ItemName)
overrides設定を取得します。