Language:

サイドバー

バーチャルキャスト公式Wiki

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:sample:lerpmotion

lerpを使ったAからB地点への移動

lerpを使用してA地点からB地点までN秒かけてなめらかに移動するサンプルです。
今回はアイテムをonUseした場所をA地点としています。4秒かけてB地点(0,1,0)へと移動します。

サンプルデータ

Unitypackage

VCIスクリプト

main.lua
local framevalue = vci.me.Time.TotalSeconds
local framestart = 0
 
local sub = vci.assets.GetTransform("Sub")
 
local pointA = Vector3.__new(0,1,0)--A地点
local pointB = Vector3.__new(0,1,0)--B地点
 
local pointnow =Vector3.zero
 
local moveflag = 0
local distance = 0.01 --この距離以下になったら停止
 
function updateAll()
    if moveflag==1 then
        framevalue = (vci.me.Time.TotalSeconds-framestart)/4 --この場合は4秒かけて移動
        --A地点からB地点まで補間してN秒間で移動
        pointnow = Vector3.Lerp(pointA,pointB,framevalue)
        sub.SetLocalPosition(pointnow)
 
        if Vector3.Magnitude(sub.GetLocalPosition()-pointB)<distance then
            moveflag=0
        end
    end
end
 
 
function onUse(use)
    --onUseした点をA地点として指定
    framestart = vci.me.Time.TotalSeconds
    pointA = sub.GetLocalPosition()
    moveflag = 1
end
vci/sample/lerpmotion.txt · 最終更新: 2023/09/29 20:44 by pastatto

ページ用ツール