この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
vci:sample:onuse:no3 [2023/05/09 12:44] pastatto 統合リンク修正 |
vci:sample:onuse:no3 [2023/10/11 17:48] (現在) pastatto 概要を編集 |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
====== アイテムを使ったときにアニメーションを再生する ====== | ====== アイテムを使ったときにアニメーションを再生する ====== | ||
+ | [[https://developer.virtualcast.jp/vci-docs/api/events/onUse.html | onUse]]と[[https://developer.virtualcast.jp/vci-docs/api/classes/ExportAnimation/Play.html|Play]]を使用して、アニメーションを再生するサンプルです。\\ | ||
+ | 参考:[[vci/sample/animation/tutorial2]] | ||
- | > ※この記事は「UniVCI-0.15」時点のものです。 | ||
=== サンプルデータ === | === サンプルデータ === | ||
https://virtualcast.jp/products/9bd2f446cc30815fd18fa7e66b7cd62e0b8dc43cb666d435e5474ab224888bfe | https://virtualcast.jp/products/9bd2f446cc30815fd18fa7e66b7cd62e0b8dc43cb666d435e5474ab224888bfe | ||
+ | |||
+ | {{ :vci:sample:animation:useanimation_vci.zip |}} | ||
===== 手順 ===== | ===== 手順 ===== | ||
ライン 14: | ライン 17: | ||
\\ | \\ | ||
GameObjectの名前は「UseAnimation_VCI」としていますが、任意の名前でも可です。\\ | GameObjectの名前は「UseAnimation_VCI」としていますが、任意の名前でも可です。\\ | ||
- | Cubeの名前は「**Cube**」と指定します。\\ | + | 「**VCI Object**」コンポーネントをアタッチします。 |
- | Cubeは地面に貫通しないようY座標を1.0に指定します。 | + | |
+ | Cubeの名前はここでは「**Cube**」と指定します。\\ | ||
+ | 地面に貫通しないようY座標を1.0に指定します。\\ | ||
+ | 「**VCI SubItem**」コンポーネントをアタッチします。\\ | ||
+ | この時、「Rigitbody」コンポーネントもアタッチされます。\\ | ||
+ | 今回は重力を使用しないため、**「Use Gravity」をOFF、「Is Kinematic」をON**にします。 | ||
+ | |||
+ | 2. Cubeに再生用の「**Animation**」コンポーネントをアタッチし、\\ | ||
+ | アニメーションを1つ作成します。\\ | ||
+ | 詳細:[[vci/sample/animation/tutorial2]] | ||
- | 2. Cubeに再生用の「**Animator**」コンポーネントをアタッチし、\\ | ||
- | 「**Animation**」を作成し、Animatorのstateへ関連付けます。\\ | ||
- | Animationのファイル名は「**UseAnimationAction**」とします。\\ | ||
※Animationの操作はUnityのマニュアルを参照してください。\\ | ※Animationの操作はUnityのマニュアルを参照してください。\\ | ||
[[https://docs.unity3d.com/ja/2018.1/Manual/animeditor-CreatingANewAnimationClip.html]] | [[https://docs.unity3d.com/ja/2018.1/Manual/animeditor-CreatingANewAnimationClip.html]] | ||
- | 3. GameObjectに「**VCI Object**」コンポーネントをアタッチし、\\ | + | 3. 「VCI Object」コンポーネントのScriptsのSizeを**1**に指定し、\\ |
- | Cubeに「**VCI SubItem**」コンポーネントをアタッチします。\\ | + | |
- | この時、「Rigitbody」コンポーネントもアタッチされます。\\ | + | |
- | Cubeは重力を使用しないため、**「Use Gravity」をOFF、「Is Kinematic」をON**にします。 | + | |
- | + | ||
- | 4. GameObjectの「VCI Object」コンポーネントのScriptsのSizeを**1**に指定し、\\ | + | |
Nameに「main.lua」を記入、Sourceに以下スクリプトを記入します。 | Nameに「main.lua」を記入、Sourceに以下スクリプトを記入します。 | ||
===== VCIスクリプト ===== | ===== VCIスクリプト ===== | ||
<file lua main.lua> | <file lua main.lua> | ||
+ | local Anime = vci.assets.GetTransform("Cube") | ||
+ | local SubitemAnime = Anime.GetAnimation() | ||
function onUse(use) | function onUse(use) | ||
if use == "Cube" then | if use == "Cube" then | ||
- | vci.assets._ALL_PlayAnimationFromName("UseAnimationAction", false) | + | SubitemAnime.Play(false) |
end | end | ||
end | end | ||
</file> | </file> |