====== アイテムを使ったときに段階的に小さくなるVCI ====== [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportTransform/SetLocalScale.html|SetLocalScale]]を利用した、useすると指定した段階で小さくなるVCIです。\\ 主に食べ物などの表現を想定しています。 注意点として、縮小するだけではその場に極小のオブジェクトが残ります。\\ メッシュを完全に見えなくするには、透明のマテリアルに変更したり、縮小と同時に地下や接触不可な場所に位置変更する等といった方法があります。 === サンプルデータ === {{ :vci:sample:onuse:smaller_item.zip |}} ==== コンポーネント設定 ==== {{ vci:sample:scale.gif?direct&600 }} grab可能なVCIであればOKです。 ===== VCIスクリプト ===== onUse(use)でuseしたVCIのオブジェクト名を取得し、GetLocalScale()で現在の大きさを取得します。\\ 現在の大きさに対して、定数を引いて小さくしたScaleをSetLocalScale()で適用しています。 上記のスクリプトはコピー&ペースト して使用する事が可能です。grab可能なVCIであればそのまま使用できます。 function onUse(use) local scale = vci.assets.GetTransform(use).GetLocalScale() --scaleにマイナスの値が入らないように、一定以上小さくなったら定数で縮小させます if scale.y <= 0.11 then vci.assets.GetTransform(use).SetLocalScale(Vector3.zero) return end --1回のuseでsteppointの値だけ小さくなります local steppoint = 0.1 scale.x = scale.x - steppoint scale.y = scale.y - steppoint scale.z = scale.z - steppoint vci.assets.GetTransform(use).SetLocalScale(scale) end