簡體   English   中英

將播放器旋轉更改為相機旋轉

[英]Changing player rotation to a camera rotation

我是團結的新手,目前正在開發類似門戶的游戲。

我完成了整個隱形傳送腳本,並且可以正常工作,但是問題來了,我沒有實現播放器攝像頭校正,實際上我不知道該怎么做。 其概念是,當您通過門戶跳躍時,應將玩家(或玩家攝像機)的旋轉更改為來自您的門戶/門戶攝像機的旋轉,以使最終效果更加“真實”。

我已經嘗試了player.transform.rotation = portal.transform.rotation傳送腳本中的某些行,例如player.transform.rotation = portal.transform.rotation但是最后它沒有用,現在我一無所有,刪除了以前的腳本並試圖一遍又一遍地編寫再次。

如果有人可以指導我如何開始編寫代碼,我會感到很高興。 我應該在onTriggerEnter (當您通過門戶跳轉時)還是在onTriggerExit 該腳本應該附加到播放器還是門戶? 我應該只從攝像機還是從整個游戲對象(門戶/玩家)收集旋轉? 我還發布了幾個屏幕(帶有一個視頻,它當前的工作方式以及整個傳送腳本。如果我錯過了什么,請問我,我將其發布在這里。

https://imgur.com/a/pbqYnLD-具有門戶檢查器的屏幕

https://streamable.com/b14hk-視頻工作原理

隱形傳送腳本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Teleportation : MonoBehaviour {

    [SerializeField] private GameObject otherPortal;
    [SerializeField] private GameObject player;

    void OnTriggerEnter(Collider col) {

        if(col.tag == "Player") {

            col.transform.position = new Vector3(otherPortal.transform.position.x+1, otherPortal.transform.position.y+1, otherPortal.transform.position.z+1);
            Debug.Log("wszedłem w portal");

        }
    }


    void Update() {

    }

}

一些信息,目前如何編碼:

  • 門戶網站目前在“盒子”后面的游戲中,我沒有在任何地方實例化它們。 只是更改了lpm(藍色門戶)和ppm(橙色門戶)的位置
  • 門戶就像原始游戲一樣,貼在牆上
  • 門戶網站已連接了一個攝像頭,現在這些攝像頭是靜態的。 (offtop:我有一個腳本可以在播放器移動時准確地移動它們,它確實可以工作,但是也存在一些問題,例如相機可能離門戶太遠,只能開始渲染盒子的綠色外側,而我也沒有知道如何解決它,所以目前我沒有使用此腳本)
  • 我正在使用的玩家移動是來自統一標准資產(如果有問題的話)
  • 玩家的身體僵硬,但傳送門卻沒有; 不知道我是否應該將此組件附加到他們
  • 傳送腳本附加到兩個門戶上-'otherPortal'變量從檢查器中移出,就像在橙色門戶中,'otherPortal'變量是藍色門戶一樣,反之亦然

您所做的是正確的(將玩家旋轉設置為門戶。您可以在設置位置后在onTriggerEnter進行操作,然后看起來像

player.transform.rotation = otherPortal.transform.rotation

如果這樣做,播放器將具有相同的旋轉角度。 您已經擁有使照相機跟隨播放器的功能,因此可能不需要設置照相機旋轉角度。 我不知道您的相機如何操作,所以我不確定。 如果攝像機的方向不正確,則執行Camera.main.transform.rotation = otherPortal.transform.rotation

剩下的可能是您的播放器(和照相機)沒有朝向右軸。 在您的視頻上,我可以看到門戶面向x軸(Unity編輯器中的紅色軸)。 檢查前進時,播放器的紅色軸是否向前。

您的播放器很有可能具有z軸(藍色)朝前,(按照慣例)更正確,並且適​​合Unity使用的名稱(z軸也稱為前向軸)

我建議創建門戶對象(以及其他所有對象,包括播放器),以使前向軸為藍色。 可能需要編輯對象。 在任何情況下,請檢查玩家前進軸是否與傳送門相同,否則無法設置旋轉角度

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM