私は現在、プレーヤーがフォーカスを持っているカメラをスクリプト化しようとしています。 適切なxBoxコントローラでカメラを制御できます。 カメラはプレーヤーの周りの軌道上でX軸上を正常に動くはずですが、カメラを上または下に移動させると(上に20°と言えば)、0°になるはずですその2つの角度の間を補間します。ユニティでのカメラとプレーヤーの動きの移動
私のスクリプトでは、カメラは上下を見ることができます(ただし、度はまだロックされていないので、Y軸上で360°+上に動かすことができます)が、0度にリセットされます。さらに、x軸はプレーヤーの周りを回ることができますが180度しか回転しないので動作しませんし、コントローラーを移動させると値が戻ってくるようにしますx軸の場合)。
カメラは空のゲームオブジェクトの子オブジェクトです。スクリプトは空のゲームオブジェクトに添付されます。
私は〜3日後にこれを理解しようとしています。小さなアドバイスについては本当に感謝しています。ここでは、事前&で おかげで私のスクリプトです:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraFollowPlayer : MonoBehaviour
{
public GameObject target;
public GameObject cameraRig;
public float rotateSpeedX = 90.0f;
public float rotateSpeedY = 5f;
float cameraAngle;
float startCameraAngle;
Vector3 offset;
Vector3 currentOffset;
public float minRotationY;
public float maxRotationY;
bool isCameraMoving;
void Start()
{
offset = transform.position - target.transform.position;
cameraAngle = transform.localEulerAngles.z;
startCameraAngle = cameraAngle;
currentOffset = offset;
}
void Update()
{
transform.position = target.transform.position + currentOffset; // Folgt dem Spieler
float hor = Input.GetAxis("RightJoystickX") * rotateSpeedX; // Input rechter Joystick
float ver = Input.GetAxis("RightJoystickY") * rotateSpeedY;
if (!Mathf.Approximately (hor, 0)) {
transform.RotateAround (target.transform.position, Vector3.up, hor);
currentOffset = transform.position - target.transform.position;
}
if (!Mathf.Approximately (ver, 0)) {
cameraAngle += 110f * Time.deltaTime;
transform.RotateAround (target.transform.position, Vector3.up, hor);
currentOffset = transform.position - target.transform.position;
print(ver);
}
else if (ver <= 0.8f) {
//cameraAngle = Mathf.Lerp(cameraAngle, startCameraAngle, 1f - 0.1f * Time.deltaTime);
cameraAngle = startCameraAngle;
}
transform.localEulerAngles = new Vector3(0, hor, cameraAngle);
}
}
これはあなたのために働いている場合は、あなたも、あなた自身の答えを受け入れることができます。(48時間後)。あなたがそれについて読むことを望むなら、[ここ](https://stackoverflow.blog/2009/01/06/accept-your-own-answers/)をチェックしてください。 – Thalthanas