0
我有一個軌道攝像機,圍繞一個物體擺動以展示所討論的物體,因爲物體相當大,很容易失去位置並希望回到起始位置,我想做這通過一個按鈕。將攝像機從當前位置移動到一個特定的位置,並保持一致?
我也希望這樣的過渡不會讓人感到震驚,它是當前位置和指定位置之間的平穩過渡。我意識到這是一個interp相關的問題,我不知道從哪裏開始。
我的基本轉換代碼到目前爲止是
public Camera MainCamera;
public void UserClickedCameraResetButton()
{
MainCamera.transform.position = new Vector3(106, 68, 15);
MainCamera.transform.rotation = new Vector4(40, 145, 0);
}
像往常一樣,非常感謝
代碼將會解決我的問題更新。
public Camera MainCamera;
public GameObject TargetPosition;
public int speed = 2;
bool camera_move_enabled = false;
void Update()
{
if (camera_move_enabled)
{
MainCamera.transform.position = Vector3.Lerp(transform.position, TargetPosition.transform.position, speed * Time.deltaTime);
MainCamera.transform.rotation = Quaternion.Lerp(transform.rotation, TargetPosition.transform.rotation, speed * Time.deltaTime);
}
}
public void UserClickedCameraResetButton()
{
TargetPosition.transform.position = new Vector3(-106.2617f, 68.81419f, 14.92558f);
TargetPosition.transform.rotation = Quaternion.Euler(39.7415f, 145.0724f, 0);
camera_move_enabled = true;
}
您可以添加一個布爾檢查camera_move_enable'的'狀態,我需要檢查什麼'Targetposition'是所有關於爲這是目前拋出一些錯誤。 –
'Targetposition'是一個gameobject。製作另一臺相機並將其設置爲目標位置,以便您可以看到最終相機視圖的外觀和調整方式。 – Stalker
得到它的工作,不得不將'vector4'更改爲'quaternion.euler'將更新OP與工作代碼。現在唯一的問題是布爾解決一個點擊式解決方案,此時你必須點擊並按住,它會將凸輪拉回到位置之前。 –