Ciao,
quando viene creata la scena, questa dura il tempo di un fotogramma, dopo lascia il posto alla successiva che viene ricreata, detto questo, ne conviene che in realtà ogni volta vengono riposizionate tutte le mesh secondo quello che viene impostato nella matrice di ogni oggetto, partendo ovviamente dal centro della scena, quindi, in realtà tu ogni volta parti dal centro non dal punto in cui hai posizionato il modello, solo che probabilmente tieni nella matrice la posizione precedente.
prova a fare questo
codice:
//posizione di partenza (memorizzala fuori da draw)
Vector3 posizione = new Vector3(20,0,0);
//dentro il draw
posizione = new Vector3(posizione +10,0,0);//ti sposti di 10 dalla posizione di partenza
effect.Word = Matrix.Multiply(Matrix.RotationY (90 * Math.PI / 180), Matrix.Translation(posizione));
come noterai, ogni volta parto da 0, o meglio, tengo in memoria la posizione precedente con un vettore, e poi a questo aggiungo il cambiamento, dopo uso il nuovo vettore per impostare la nuova posizione, ma ovviamente prima lo ruoto. Tieni presente che questo verrà fatto tot volte al secondo, quindi regolati, probabilmente se lo fai girare così vedrai la mesh che schizza via!!!
Ovviamente in questo caso ti parlo di una singola mesh interna al modello.