[英]Controlling movement of flying a vehicle with SceneKit
我目前有一個場景,該場景在場景的根部包含一個中心節點,該節點具有類似地球的幾何形狀,並且一個節點代表飛行中的飛行器。
但是,我找不到控制車輛運動的正確方法。 我需要能夠以固定的高度和速度在軌道上左右旋轉。
我嘗試了許多動畫和物理力的組合,所有這些都會導致不良結果。
我最接近的是:
然后像下面那樣設置一個動作來控制前進
[_vehicleNode runAction:[SCNAction repeatActionForever:[SCNAction rotateByX:-1 y:0 z:0 duration:10.0]]];
然后最后施加力左右旋轉
[_vehicleNode.physicsBody applyTorque:SCNVector4Make(0, 1, 0, 1) impulse:YES];
但是,我似乎無法將樞軸和/或位置設置為正確的值以獲得所需的結果。
編輯:似乎上述方法將是我正在尋找的解決方案,但是由於某些原因,當我將幾何圖形添加到車輛節點時,它在場景圖中的位置會發生巨大變化。 當我添加硬編碼按鈕以將其位置更改為它所屬的位置時,它似乎僅對單個幀是正確的,然后直接回到虛無的中間。
編輯2:用原始球體替換所有幾何體以進行測試之后,該節點現在可以按預期旋轉,但是現在不受物理力的影響,這些力似乎忽略了將其聲明為dynamicBody。
如果我了解您要正確實現的目標,則可以嘗試以下操作:
SCNAction
使其沿Y軸永遠旋轉
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.