Jmonkey动画 - 跳转到航点

时间:2014-11-27 12:41:39

标签: 3d jmonkeyengine

我已经搞砸了一段时间,似乎无法找到如何做到这一点。  问题是,当我启动一个MotionControl时,它总是会在第一个航点处产生空间并从那里移动。  但是,我真的需要让空间和动作从用户定义的航点开始(例如:航路点10)并从那里开始。

你可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:0)

我在MotionEvent中找到的实际更改音轨位置的唯一方法是setTime(float)。 Sane值介于0.0f(0%)和initialDuration(100%)之间。

每次向MotionPath添加航点时,它都会更新基础Spline,其总长度和每个航段的长度。

使用此信息,您可以计算航路点的相应“时间标记”:

public float calcWaypointTime(MotionPath path, MotionEvent motionEvent, int waypointIndex) {
    // Distance between start and waypoint
    float wpDistance = 0;

    // Sum up segment lengths until waypoint is reached
    List<Float> segLen = path.getSpline().getSegmentsLength();
    for(int i=0; i<segLen.size() && i<waypointIndex; ++i)
        wpDistance += segLen.get(i);

    // Transform distance to time
    return (wpDistance / path.getSpline().getTotalLength()) * motionEvent.getInitialDuration();
}