【发布时间】:2017-01-03 16:43:36
【问题描述】:
我正在使用 libgdx 框架。我有一个字符模型实例和一个 Vector3 对象数组。字符 modelInstance 在数组中的每个 Vector3 对象之间进行转换。我遇到的问题是旋转模型实例以指向它正在移动的向量。曾经怎么可能做到这一点?下面是我移动模型实例的工作代码(这个方法在每个渲染周期被调用,而 isMoving 属性等于 true):
public void move(float delta){
Vector3 start = new Vector3();
modelInstance.transform.getTranslation(start);
Vector3 end = pathVectors.get(0);
float distance = start.dst(end);
Vector3 direction = new Vector3(end);
direction.sub(start).nor();
modelInstance.transform.trn(direction.x * moveSpeed * delta, direction.y * moveSpeed * delta, direction.z * moveSpeed * delta);
Vector3 currentPosition = new Vector3();
modelInstance.transform.getTranslation(currentPosition);
if(start.dst(currentPosition) >= distance){
modelInstance.transform.setTranslation(end);
pathVectors.remove(0);
if(pathVectors.isEmpty()){
isMoving = false;
}
}
}
【问题讨论】: