【发布时间】:2022-06-24 22:23:48
【问题描述】:
我正在开发一款游戏,您将在游戏中控制 2 个不同的角色。所以我用他们自己的 (fps) 相机创建了 2 个角色并将它们制作成预制件。如何在这些字符之间切换?
【问题讨论】:
我正在开发一款游戏,您将在游戏中控制 2 个不同的角色。所以我用他们自己的 (fps) 相机创建了 2 个角色并将它们制作成预制件。如何在这些字符之间切换?
【问题讨论】:
您可能应该获取玩家状态(位置、旋转等)、销毁旧玩家、实例化新玩家并像这样设置玩家状态:
GameObject _currentPlayer;
void ChangePlayer(GameObject playerPrefab){
var playerPosition = _currentPlayer.transform.position;
var playerRotation = _currentPlayer.transform.rotation;
Destroy(_currentPlayer);
_currentPlayer = Instantiate(playerPrefab, playerPosition, playerRotation);
}
“使用自己的相机”是什么意思?相机是玩家预制的孩子吗?这听起来不太好,并且在您创建新播放器时可能会导致一些问题。您应该为相机编写简单的脚本以跟随玩家或使用 Cinemachine 恕我直言
【讨论】: