1
私はLookAt()関数を使用してキューブの周りを回転させ、Androidデバイスの加速度計を使用しようとしています。それはうまくいく。しかし、回転をY軸のある値で停止させたい。ここに私のコードは、これまでのところです:加速度計付きユニティ回転カメラ
public Transform target; // The object to follow
public float topMargin = 0.2f; // Top rotation margin
// The position of the target
private Vector3 point;
void Start() {
point = target.transform.position;
transform.LookAt (point);
}
void Update() {
// Freeze
if (transform.rotation.y >= topMargin) {
transform.RotateAround (point, new Vector3 (0, 1, 0), 0);
}
// Freeze
else if (transform.rotation.y <= -topMargin) {
transform.RotateAround (point, new Vector3 (0, 1, 0), 0);
} else {
transform.RotateAround (point, new Vector3(0, 1, 0), Input.acceleration.x);
}
}
問題は、カメラが上マージンに達したとき、私は反対方向に再び回転し始めることができないということです。私はフラグ変数を試してきましたが、正しいプログラムロジックを得ることができません(別のif/elseを試しました)。これを実現する方法に関する提案はありますか?