私はプレーヤーがトップダウンの観点から船をコントロールするための小さなプロジェクトを開始しました。物理学に基づいた動きを全部使いたい。トップダウン宇宙飛行物理 - AddForce - オブジェクトが中心から離れて移動するより速く進む
私の問題は、剛体に力を加えると、それが取り付けられているオブジェクトがその位置から離れるように見えることです。しかし、transform.positionsは問題ないようです。
this little unity packageをまとめました。 Wを押すと、船は上方向に移動し、中央から外れます.Wを押すと長くなります。Sは反対方向に移動します。
コードはかなり単純です:
using UnityEngine;
using System.Collections;
public class TestController : MonoBehaviour {
public float mainThrust = 100;
private Vector3 cameraOffset = new Vector3(0f, 0f, 150f);
private new Rigidbody rigidbody;
void Start() {
rigidbody = GetComponent<Rigidbody>();
}
void FixedUpdate() {
float axisVertical = Input.GetAxis("Vertical");
Vector2 force = new Vector2(0f, axisVertical) * mainThrust * Time.fixedDeltaTime;
rigidbody.AddRelativeForce(force, ForceMode.Impulse);
Camera.main.transform.position = rigidbody.transform.position - cameraOffset;
Debug.Log("camPos: " + Camera.main.transform.position
+ " - rbPos: " + rigidbody.transform.position);
}
}
すべてのヘルプは大歓迎します。
おかげで、 ニコ
あなたがのスクリーンショット/ビデオを提供することができればそれが役立つだろうこれはあなたの問題が何であるかを100%確信しているわけではありません。しかし、私はあなたのスクリプトの実行順序のために、あなたのカメラがゲームオブジェクトの後ろにたどり着いていると思っています。 –
btw、カメラを船の子供にすることができ、それは自動的にそれに従います。 – code11
[動画](https://youtu.be/12z526xrUpM)が届きます。カメラは問題ではないようです。オブジェクトにカメラを接続すると、同じ動作になります。 –