所以我編輯了我的問題,因為我忘記給你看一個相機腳本。也許問題就在那里。我只是相信,即使在編輯舊問題之后,也絕對不會有人閱讀編輯后的文章。所以我創建了一個新問題。所以我有這樣的問題。我試著讓電車動起來。為此,我從 Asset Store“Bezier Path Creator”下載了一個腳本:https ://assetstore.unity.com/packages/tools/utilities/b-zier-path-creator-136082 。它很好用。之前需要創建第三人稱相機。在寫了一個簡短的腳本后,我看到車輛在加速后開始抽動。我坐了幾天試圖解決這個問題,我看到了一件事。如果刪除* Time.deltaTime,則不再有抽搐,但對 FPS 有依賴性(這是可以預見的)。此外,如果單擊暫停按鈕并逐幀查看,則不會出現抽搐。我該怎么辦?有一些代碼我有問題: switch (acceleration) { case -1: acc = -12F; break; case -2: acc = -15F; break; case -3: acc = -18F; break; case 0: acc = 0.000f; break; case 1: acc = 9f; break; case 2: acc = 12f; break; case 3: acc = 17.1f; break; } if (Input.GetKeyDown ("e")) { acceleration++; } if (Input.GetKeyDown ("q")) { acceleration--; } if (acceleration < -3) { acceleration = -3; } if (acceleration > 3) { acceleration = 3; }if (speed > 40.0f) { speed = 40.0f; saveSpeed = speed; speed = saveSpeed;} else if (speed >= 0.0f && speed <= 0.03f && acceleration == 0) { speed = 0.0f;} else if (speed <= 0.0f && speed >= -0.03f && acceleration == 0) { speed = 0.0f;} else if (speed <= 40.0f) { speed += ((Time.time - startTime)/1000)*(-acc);}// Taking a piece of Asset Store codetransform.rotation = pathCreator.path.GetRotationAtDistance(distanceTravelled);transform.position = pathCreator.path.GetPointAtDistance(distanceTravelled); // I guess the problem is somewhere there所以有 Asset Store 腳本中的GetRotationAtDistance方法GetPointAtDistance:
車輛抽動.
慕桂英3389331
2022-11-21 21:29:36