この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
vci:script:reference:exportassets [2022/09/01 18:28] pastatto メソッド→関数 |
vci:script:reference:exportassets [2023/10/04 15:18] (現在) pastatto 推奨ページの変更 |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
====== ExportAssets ====== | ====== ExportAssets ====== | ||
+ | <WRAP center round important 80%> | ||
+ | このページは過去の情報となります。\\ | ||
+ | 新しいスクリプトリファレンスは**[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportAssets/index.html|こちら]]**になります。 | ||
+ | </WRAP> | ||
VCIにアタッチされたコンポーネントを扱う時の関数です。\\ | VCIにアタッチされたコンポーネントを扱う時の関数です。\\ | ||
また''_ALL_''が付いている関数はスタジオ内に居るユーザー全員のVCIで実行されます。\\ | また''_ALL_''が付いている関数はスタジオ内に居るユーザー全員のVCIで実行されます。\\ | ||
ライン 10: | ライン 14: | ||
上3項目は、1.8.2aから、以下のページが推奨となりました。 | 上3項目は、1.8.2aから、以下のページが推奨となりました。 | ||
- | * [[vci/script/reference/exportassets/audio]] | + | * [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportAudioSource/index.html|ExportAudioSource(オーディオ制御)]] |
- | * [[vci/script/reference/exportanimation]] | + | * [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportAnimation/index.html|ExportAnimation(アニメーション)]] |
- | * [[vci:script:reference:exportassets:material]] | + | * [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportMaterial/index.html|ExportMaterial(マテリアル制御)]] |
^ 名前 ^ 説明 ^ バージョン ^ | ^ 名前 ^ 説明 ^ バージョン ^ | ||
- | | [[vci/script/reference/exportassets#GetInstanceId]] | VCIのユニークID(string)を取得 | v2.0.0b以降 | | + | | [[vci/script/reference/exportassets#GetInstanceId]] | [[vci/script/reference/message#emitwithid|EmitWithId]]用のIDを取得 | 2.0.0b以降 | |
- | | [[vci/script/reference/exportassets#GetSubItem(非推奨)]] | ※現在非推奨です。\\ **GetTransform**を推奨しています。 | | + | |
| [[vci/script/reference/exportassets#GetTransform ]] | VCI内のObjectの[[vci:script:reference:exporttransform|ExportTransform]]を取得 | | | [[vci/script/reference/exportassets#GetTransform ]] | VCI内のObjectの[[vci:script:reference:exporttransform|ExportTransform]]を取得 | | ||
| [[vci/script/reference/exportassets#GetSubItemAttractable]] | SubItemが引き寄せできるかどうか| | | [[vci/script/reference/exportassets#GetSubItemAttractable]] | SubItemが引き寄せできるかどうか| | ||
ライン 23: | ライン 26: | ||
| [[vci/script/reference/exportassets#GetEffekseerEmitters]]|VCI内のObjectの [[vci/script/reference/effekseer|エフェクト]]を取得 | | | [[vci/script/reference/exportassets#GetEffekseerEmitters]]|VCI内のObjectの [[vci/script/reference/effekseer|エフェクト]]を取得 | | ||
| [[vci/script/reference/exportassets#IsMine]]| VCIを出したクライアントかどうか | | | [[vci/script/reference/exportassets#IsMine]]| VCIを出したクライアントかどうか | | ||
- | | [[vci/script/reference/exportassets#audio]]| VCI内のObjectの[[vci/script/reference/exportassets/audio|オーディオ]]を取得 | | ||
| [[vci/script/reference/exportassets#material]]| VCI内のObjectの[[vci/script/reference/exportassets/material|マテリアル]]を取得 | | | [[vci/script/reference/exportassets#material]]| VCI内のObjectの[[vci/script/reference/exportassets/material|マテリアル]]を取得 | | ||
- | | [[vci/script/reference/exportassets#SetMaterialColor(非推奨)]]| マテリアルの色を変更 | | + | | [[vci/script/reference/exportassets#HapticPulseOnGrabbingController]]| コントローラーを振動 | |
- | | [[vci/script/reference/exportassets#SetMaterialEmissionColor(非推奨)]]| マテリアルのEmissionColorを変更 | | + | | [[vci/script/reference/exportassets#HapticPulseOnTouchingController]]| コントローラーを振動 | |
- | | [[vci/script/reference/exportassets#SetMaterialTextureOffset(非推奨)]]| マテリアルの UVoffset を変更 | | + | | [[vci/script/reference/exportassets#SetText]]| VCIの[[vci:component:sdk:text|テキスト機能]]で使用 | |
+ | | [[vci/script/reference/exportassets#SetSubItemAttractable]]| 引き寄せの可否を設定 | | ||
+ | |||
+ | --> 非推奨 # | ||
+ | |||
+ | ^ 名前 ^ 説明 ^ | ||
+ | | [[vci/script/reference/exportassets#GetSubItem(非推奨)]] | [[vci/script/reference/exportassets#GetTransform|vci.assets.GetTransform]]の使用を推奨 | | ||
+ | | [[vci/script/reference/exportassets#audio]]| VCI内のObjectの[[vci/script/reference/exportassets/audio|オーディオ]]を取得 | | ||
+ | | [[vci/script/reference/exportassets#SetMaterialColor(非推奨)]]| [[vci/script/reference/exportassets/material#setcolor|vci.assets.material.SetColor]]の使用を推奨 | | ||
+ | | [[vci/script/reference/exportassets#SetMaterialEmissionColor(非推奨)]]| [[vci/script/reference/exportassets/material#SetEmissionColor|vci.assets.material.SetEmissionColor]]の使用を推奨 | | ||
+ | | [[vci/script/reference/exportassets#SetMaterialTextureOffset(非推奨)]]| [[vci/script/reference/exportassets/material#SetTextureOffset|vci.assets.material.SetTextureOffset]]の使用を推奨 | | ||
| [[vci/script/reference/exportassets#PlayAnimation / StopAnimation(非推奨) | PlayAnimation(非推奨)]]| Animationを再生 | | | [[vci/script/reference/exportassets#PlayAnimation / StopAnimation(非推奨) | PlayAnimation(非推奨)]]| Animationを再生 | | ||
| [[vci/script/reference/exportassets#PlayAnimation / StopAnimation(非推奨) | StopAnimation(非推奨)]]| Animationを停止 | | | [[vci/script/reference/exportassets#PlayAnimation / StopAnimation(非推奨) | StopAnimation(非推奨)]]| Animationを停止 | | ||
ライン 33: | ライン 45: | ||
| [[vci/script/reference/exportassets#PauseAudio(非推奨)]]| Audioファイルを一時停止 | | | [[vci/script/reference/exportassets#PauseAudio(非推奨)]]| Audioファイルを一時停止 | | ||
| [[vci/script/reference/exportassets#StopAudio(非推奨)]]|Audioファイルを停止 | | | [[vci/script/reference/exportassets#StopAudio(非推奨)]]|Audioファイルを停止 | | ||
- | | [[vci/script/reference/exportassets#HapticPulseOnGrabbingController]]| コントローラーを振動 | | ||
- | | [[vci/script/reference/exportassets#HapticPulseOnTouchingController]]| コントローラーを振動 | | ||
- | | [[vci/script/reference/exportassets#SetText]]| VCIの[[vci:component:sdk:text|テキスト機能]]で使用 | | ||
- | | [[vci/script/reference/exportassets#SetSubItemAttractable]]| 引き寄せの可否を設定 | | ||
+ | <-- | ||
===== VCIの同期について ===== | ===== VCIの同期について ===== | ||
ライン 48: | ライン 57: | ||
* transformはバーチャルキャストの機能によって同期します。\\ | * transformはバーチャルキャストの機能によって同期します。\\ | ||
* ''_ALL_'' のついた関数は同期して実行されます。\\ | * ''_ALL_'' のついた関数は同期して実行されます。\\ | ||
- | * [[vci/script/reference/syncvariable|同期変数]]を使用してVCIの状態を同期させます。\\ | + | * [[vci/script/reference/syncvariable|同期変数]]や[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportMessage/index.html|Message]]を使用してVCIの状態を同期させます。\\ |
- | つまり ''vci.assets'' の関数は基本的に ''_ALL_'' が付いたものを使用し、他のユーザーのVCIも動作するように作るという事です。\\ | + | Useすれば音がなる程度のシンプルなVCIであれば、イベント関数で ''_ALL_'' を呼べば同期できます。\\ |
- | ※音がなる程度のシンプルなVCIであれば、イベント関数で ''_ALL_'' を呼びさえすれば問題ありません。\\ | + | しかし ''_ALL_'' の関数はネットワーク負荷が高いです。\\ |
- | 逆に、それぞれのユーザーでVCIの状態を変えたい時は同期しないようにローカルで動作するように作ります。\\ | + | 凝った挙動を実現しようとするなら[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportState/index.html|vci.state]]や[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportMessage/index.html|vci.message]]を使って状態を同期する必要があります。 |
\\ | \\ | ||
transformの同期については [[vci:component:sdk:subitem:owned|VCIアイテムとSubItemについて]] をご確認ください。 | transformの同期については [[vci:component:sdk:subitem:owned|VCIアイテムとSubItemについて]] をご確認ください。 | ||
ライン 61: | ライン 70: | ||
目安としてはアルファベットならば約 500 文字、日本語ならば約 250 文字となります。 | 目安としてはアルファベットならば約 500 文字、日本語ならば約 250 文字となります。 | ||
- | 大量のテキストを表示したい場合は [[vci/script/reference/exportstate | vci.state]] や [[vci/script/reference/message | vci.message]] API を使用して同期を行う実装をしてください。 | + | 大量のテキストを表示したい場合は [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportState/index.html|vci.state]] や [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportMessage/index.html | vci.message]] API を使用して同期を行う実装をしてください。 |
- | [[vci/script/reference/message | vci.message]] で送信出来る文字量は UTF-8 換算で ''4000 byte'' までとなります。 | + | [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportMessage/index.html | vci.message]] で送信出来る文字量は UTF-8 換算で ''4000 byte'' までとなります。 |
- | [[vci/script/reference/exportstate | vci.state]] で共有出来るデータ量は最大''16KB''までとなります。 | + | [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportState/index.html | vci.state]] で共有出来るデータ量は最大''16KB''までとなります。 |
===== GetInstanceId ===== | ===== GetInstanceId ===== | ||
ライン 71: | ライン 80: | ||
<file lua main.lua> | <file lua main.lua> | ||
- | print("id = "..tostring(vci.assets.GetInstanceId())) | + | -- 同じVCIを複数出しても自分にだけ届く |
+ | vci.message.EmitWithId("a", "message", vci.assets.GetInstanceId()) | ||
</file> | </file> | ||
- | |||
- | 実行結果\\ | ||
- | <code lua> | ||
- | "id = QTZGZSKIDFIBLEODF" | ||
- | </code> | ||
説明\\ | 説明\\ | ||
- | VCIに割り当てられたユニークIDを入手します\\ | + | [[vci/script/reference/message#emitwithid|EmitWithId]]に用いるためのIDを取得します。\\ |
- | 同じVCIを複数出した場合、別々のユニークIDを入手します。\\ | + | それ以外の用途は保証しません。\\ |
- | またVCIを出し直した場合は新たに別のユニークIDを入手します | + | \\ |
+ | IDはVCIのインスタンスそれぞれに割り当てられます。\\ | ||
+ | したがって同じVCIを複数出した場合はIDが異なります。\\ | ||
+ | またVCIを出しなおした場合もIDが異なります。\\ | ||
+ | \\ | ||
+ | IDはスタジオやルームのセッションの中でのユニークさが保証されます。\\ | ||
+ | したがってルームの入室人数が0人になったのち再度入室した場合はIDが変わることがあります。\\ | ||
===== GetSubItem(非推奨) ===== | ===== GetSubItem(非推奨) ===== | ||
**GetSubItem fun(name: string): ExportTransform** | **GetSubItem fun(name: string): ExportTransform** | ||
ライン 115: | ライン 125: | ||
説明\\ | 説明\\ | ||
現在非推奨です。代わりにGetTransformの使用を推奨しています。 | 現在非推奨です。代わりにGetTransformの使用を推奨しています。 | ||
- | VCI内のSubItem([[vci:script:reference:exporttransform|ExportTransform]])を取得します。 | + | VCI内のSubItem([[https://developer.virtualcast.jp/vci-docs/api/classes/ExportTransform/index.html|ExportTransform]])を取得します。 |
- | 詳しい使い方は[[vci:script:reference:exporttransform|ExportTransform]]を参照してください。 | + | 詳しい使い方は[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportTransform/index.html|ExportTransform]]を参照してください。 |
===== GetTransform ===== | ===== GetTransform ===== | ||
ライン 148: | ライン 158: | ||
説明\\ | 説明\\ | ||
- | VCI内Objectの([[vci:script:reference:exporttransform|ExportTransform]])を取得します。 | + | VCI内Objectの([[https://developer.virtualcast.jp/vci-docs/api/classes/ExportTransform/index.html|ExportTransform]])を取得します。 |
- | 詳しい使い方は[[vci:script:reference:exporttransform|ExportTransform]]を参照してください。 | + | 詳しい使い方は[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportTransform/index.html|ExportTransform]]を参照してください。 |
===== GetSubItemAttractable ===== | ===== GetSubItemAttractable ===== | ||
ライン 185: | ライン 195: | ||
</code> | </code> | ||
説明\\ | 説明\\ | ||
- | 詳しい使い方は[[vci/script/reference/effekseer]]を参照してください。 | + | 詳しい使い方は[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportEffekseer/index.html|ExportEffekseer (エフェクト)]]を参照してください。 |
===== GetEffekseerEmitters ===== | ===== GetEffekseerEmitters ===== | ||
ライン 203: | ライン 213: | ||
</code> | </code> | ||
説明\\ | 説明\\ | ||
- | 詳しい使い方は[[vci/script/reference/effekseer]]を参照してください。 | + | 詳しい使い方は[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportEffekseer/index.html|ExportEffekseer (エフェクト)]]を参照してください。 |
===== IsMine ===== | ===== IsMine ===== | ||
**IsMine bool** | **IsMine bool** | ||
- | VCIの所有者(アイテムを出した人)であるか判定します。 | + | VCI全体の所有権を取得しているか否かを bool で返します。\\ |
- | 予め部屋に置いてあるアイテムの場合は、最初に入室した人が所有権を持ちます。(IsMine = trueになる) | + | VCI全体の所有権を取得していると ''update'' イベントが実行されます。 |
+ | 詳しくは[[vci/script/reference/eventfunction/ownership|こちら]]。 | ||
+ | |||
+ | VCI全体の所有権を取得するプレイヤーは、そのアイテムを出したプレイヤーがその場にいる限りそのプレイヤーになります。 | ||
+ | しかし公式スタジオやルームでは、そのアイテムを出したプレイヤーがその場にいない場合があります。 | ||
+ | そのときは、いまその場にいるプレイヤーの中から、もっとも古い時間にその場に参加したプレイヤーが選ばれVCI全体の所有権を取得します。 | ||
<file lua main.lua> | <file lua main.lua> | ||
ライン 243: | ライン 258: | ||
説明\\ | 説明\\ | ||
- | 詳しい使い方は[[vci/script/reference/exportassets/audio]]を参照してください。 | + | 詳しい使い方は[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportAudio/index.html|ExportAudio(オーディオ制御)]]を参照してください。 |
===== material ===== | ===== material ===== | ||
ライン 262: | ライン 277: | ||
説明\\ | 説明\\ | ||
- | 詳しい使い方は[[vci/script/reference/exportassets/material]]を参照してください。 | + | 詳しい使い方は[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportMaterial/index.html|ExportMaterial(マテリアル制御)]]を参照してください。 |
ライン 364: | ライン 379: | ||
</code> | </code> | ||
- | {{:モデル作成:vci作成:リファレンス_vciscript:numtex3.png?direct&200|}}\\ | + | {{vci:script:reference:eventfunction:numtex3.png?direct&200|}}\\ |
イメージとしては、4×4のグリッド状(最大16パターン)にUVをシフトさせるサンプルです。\\ | イメージとしては、4×4のグリッド状(最大16パターン)にUVをシフトさせるサンプルです。\\ | ||
3DモデルのUVの開始位置は左上です。\\ | 3DモデルのUVの開始位置は左上です。\\ |