在 Unity3D 中更改 playerCharacter 的朝向
Change playerCharacter's facing direction in Unity3D
我正在尝试(出于学习目的)制作 Portal 游戏。我有基本的工作原理,我可以放置两个入口,在一个入口的对撞机内行走让我传送到另一个入口,但我似乎无法让正面 direction/rotation 工作。
我想传送后从新传送门面向外
我尝试了以下方法,但没有成功:
可变角度 = thisPortalCamera.transform.rotation.eulerAngles.y - otherPortalCamera.transform.rotation.eulerAngles.y;
playerChar.transform.Rotate(Vector3.up,角度);
我的想法是只有 y 轴旋转才是真正重要的,我认为我应该根据两个门户之间的轴差来旋转播放器。这可能真的很简单和容易,但我对 Unity 还很陌生。有什么建议吗?
最简单的方法之一是使用转换函数 LookAt() 和 Rotate()。此函数采用一个参数,即对象必须查看的位置。
transform.LookAt(portal.position);
tranform.Rotate(new Vector3(0,180,0);
这将使您的角色面向与您的传送门相反的方向。
最简单的方法是设置您的传送门,使其向前是您希望玩家拥有的方向。然后你就去:
player.transform.rotation = portal.transform.rotation;
player.transform.position = portal.transform.position;
目的是让您的门户网站的蓝色箭头指向正确的方向。
我正在尝试(出于学习目的)制作 Portal 游戏。我有基本的工作原理,我可以放置两个入口,在一个入口的对撞机内行走让我传送到另一个入口,但我似乎无法让正面 direction/rotation 工作。 我想传送后从新传送门面向外
我尝试了以下方法,但没有成功: 可变角度 = thisPortalCamera.transform.rotation.eulerAngles.y - otherPortalCamera.transform.rotation.eulerAngles.y; playerChar.transform.Rotate(Vector3.up,角度);
我的想法是只有 y 轴旋转才是真正重要的,我认为我应该根据两个门户之间的轴差来旋转播放器。这可能真的很简单和容易,但我对 Unity 还很陌生。有什么建议吗?
最简单的方法之一是使用转换函数 LookAt() 和 Rotate()。此函数采用一个参数,即对象必须查看的位置。
transform.LookAt(portal.position);
tranform.Rotate(new Vector3(0,180,0);
这将使您的角色面向与您的传送门相反的方向。
最简单的方法是设置您的传送门,使其向前是您希望玩家拥有的方向。然后你就去:
player.transform.rotation = portal.transform.rotation;
player.transform.position = portal.transform.position;
目的是让您的门户网站的蓝色箭头指向正确的方向。