Я хочу плавно повернуть объект (плоскость) на основе списка углов (Pitch, Roll и Yaw), полученных из вызова API. Объектом ответа является Rootresponse ниже
public class ResponseData
{
public List<int> x; //roll
public List<int> y; //yaw
public List<int> z; //pitch
}
public class RootResponse
{
public ResponseData data;
public string status; //status of the api call
}
Я попытался перебрать значения каждого кадра в методе FixedUpdate , используя цикл while с использованием приведенного ниже фрагмента кода. Это создает исключение "ArgumentOutOfRange" .
Если я использую transform.Roatate или Quarternion angle согласно документации, я могу получить только окончательную позицию.
Какой наилучший подход я могу выбрать в этом случае?
void FixedUpdate(){
if(shouldUpdate) { //set to true for a success response from the api call
while(ind < dataLen) {
transform.position = Vector3.MoveTowards(new Vector3(batData.x[ind], batData.y[ind], batData.z[ind]), new Vector3(batData.x[ind+1], batData.y[ind + 1], batData.z[ind + 1]), speed * Time.deltaTime);
ind++; //to increment the index every frame
}
}
}