vci:sample:oncollision:no1

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
vci:sample:oncollision:no1 [2023/05/09 12:44]
pastatto 統合リンク修正
vci:sample:oncollision:no1 [2023/10/02 20:17] (現在)
pastatto Audioも非推奨だったためデータ修正
ライン 1: ライン 1:
 ====== 叩くとアニメーションをして音が鳴るドラムを作る ====== ====== 叩くとアニメーションをして音が鳴るドラムを作る ======
 +[[https://​developer.virtualcast.jp/​vci-docs/​api/​events/​onCollisionEnter.html | onCollisionEnter]]を使用した、アイテムをぶつけると音やアニメーションが再生されるサンプルです。
  
-> ※この記事は「UniVCI-0.15」時点のものです。\\ 
 === サンプルデータ === === サンプルデータ ===
 https://​virtualcast.jp/​products/​5315c1a2c3ec38eb95c65db2db65299ddb58c39943e659e83033e651019c5f72 https://​virtualcast.jp/​products/​5315c1a2c3ec38eb95c65db2db65299ddb58c39943e659e83033e651019c5f72
 +
 +{{ :​vci:​sample:​oncollision:​チュートリアルドラム.zip |}}
  
 === 音源サンプル === === 音源サンプル ===
ライン 15: ライン 17:
 今回のVCIはドラムとスティックの2つのSubItemで構成されます。\\ 今回のVCIはドラムとスティックの2つのSubItemで構成されます。\\
  
-{{vci:​sample:​oncollision:​tutorial_drum_1.png?​direct&​600|}}+{{ vci:​sample:​oncollision:​tutorial_drum_1.png?​direct&​600 }}
  
 アニメーションや音を鳴らすためにはUnity上でスクリプトだけではなく素材も準備する必要があります。\\ アニメーションや音を鳴らすためにはUnity上でスクリプトだけではなく素材も準備する必要があります。\\
ライン 26: ライン 28:
  
 **1. 音源を用意**\\ **1. 音源を用意**\\
-音を鳴らすためには音源を準備しましょう\\+音を鳴らすためには音源を準備しましょう\\
 圧縮形式の音源ファイルでも、VCIを出力する際には非圧縮のwavファイルとして出力されます。\\ 圧縮形式の音源ファイルでも、VCIを出力する際には非圧縮のwavファイルとして出力されます。\\
 容量が増加することがあるので注意しましょう。\\ 容量が増加することがあるので注意しましょう。\\
ライン 39: ライン 41:
  
  
-**2. アニメションを用意**\\ +2. VCISubItemに「**Animation**」コンポアタッチし、\\ 
-アニメーションファイルを作成する際はVCI Objectの階層でアニメーションクリップを作成しましょう。\\ +アニメーションを1つ作成しま。\\ 
-{{vci:sample:​oncollision:​tutorial_drum_3.png?​direct&​400|}}+詳細:[[vci/sample/​animation/​tutorial2]]
  
 VCIのアニメーションではループ再生のON/​OFFを選択することができます。\\ VCIのアニメーションではループ再生のON/​OFFを選択することができます。\\
ライン 47: ライン 49:
 今回はドラムのスケールを変更し、一瞬大きくなり、またもとの大きさに戻るアニメーションを作りました。 今回はドラムのスケールを変更し、一瞬大きくなり、またもとの大きさに戻るアニメーションを作りました。
  
-VCI Object階層にAnimationでアタッチします。\\ 
-このときAnimations内のelement 0~として登録をする必要があるので注意してください。 
  
 **3. コライダを用意**\\ **3. コライダを用意**\\
ライン 77: ライン 77:
 ===== VCIスクリプト ===== ===== VCIスクリプト =====
 <file lua main.lua>​ <file lua main.lua>​
 +local transform = vci.assets.GetTransform("​drum"​)
 +local animation = transform.GetAnimation()
 +local audioSources = transform.GetAudioSources()
 +
 +---[SubItemの所有権]アイテムにCollider(not Trigger)が接触したときに呼ばれる。
 +---@param item string @SubItem名
 +---@param hit string @Collider名
 function onCollisionEnter(item,​ hit) function onCollisionEnter(item,​ hit)
     if (item == "​drum"​ and hit == "​stick"​) or (item == "​stick"​ and hit == "​drum"​) then     if (item == "​drum"​ and hit == "​stick"​) or (item == "​stick"​ and hit == "​drum"​) then
-        ​vci.assets._ALL_PlayAudioFromName("​drum_snd"​) --サウンドを鳴らす +        ​audioSources[1]._ALL_Play(1.0, false) --サウンドを鳴らす 
-        ​vci.assets._ALL_PlayAnimationFromName("​drum_anm",​false) --アニメーションを再生 true/​falseでループのON/​OFFを指定 +        ​animation._ALL_Play(false) --アニメーションを再生 true/​falseでループのON/​OFFを指定 
-        vci.assets.HapticPulseOnGrabbingController(item,​ 1500, 0.05) --itemをつかんでいるコントローラを振動させる+        vci.assets.HapticPulseOnGrabbingController(item,​ 1500, 0.05) --itemをんでいるコントローラを振動させる
     end     end
 end end
vci/sample/oncollision/no1.1683603881.txt.gz · 最終更新: 2023/05/09 12:44 by pastatto

ページ用ツール