我正在試圖建立一個無限的飛行模擬器在處理中。我想像第一人稱視角飛行一個球體(行星)像衛星一樣,並用箭頭鍵控制方向。我不知道如何在沒有萬向節鎖的情況下設置相機。圍繞3D球體加工的軌道
這正是我想做的事:
任何想法如何實現這一目標?
我正在試圖建立一個無限的飛行模擬器在處理中。我想像第一人稱視角飛行一個球體(行星)像衛星一樣,並用箭頭鍵控制方向。我不知道如何在沒有萬向節鎖的情況下設置相機。圍繞3D球體加工的軌道
這正是我想做的事:
任何想法如何實現這一目標?
好飛行模擬器應該比這個更難,因爲在視頻您鏈接似乎字符(等相機「下面的」吧)實際上並沒有運行,代表着地球球體只是繞着它自己的中心,所以相機不動我想,這只是球體定位和簡單旋轉
如果你想要一個「飛行模擬器」與固定的高度上方的行星,它似乎是最簡單的方法完成它
你是對的。我想讓球體旋轉。這是我到目前爲止:
float rotationX = 0;
float rotationY = 0;
float velocityX = 0;
float velocityY = 0;
boolean[] keys = new boolean[255];
void setup(){
size(500, 500, P3D);
}
void draw() {
background(150);
if(keys[LEFT]) {
velocityY += 0.04;
}
if(keys[RIGHT]) {
velocityY -= 0.04;
}
if(keys[UP]) {
velocityX += 0.04;
}
if(keys[DOWN]) {
velocityX -= 0.04;
}
translate(width/2, height/2 + 160, 325);
rotateX(radians(-rotationX));
rotateY(radians(-rotationY));
sphere(150);
rotationX += velocityX;
rotationY += velocityY;
velocityX *= 0.95;
velocityY *= 0.95;
}
void keyPressed() {
keys[keyCode] = true;
}
void keyReleased() {
keys[keyCode] = false;
}
所以主要問題是,X Y Z軸與球旋轉。逛完我的領域和這個例子比較球的行爲:
collinhover.github.io/kaiopua/
在這個例子中的軸系始終固定。我不知道如何更好地解釋它。