public GameObject Camera;
public GameObject player;
public Vector3 offset;
public Camera camera;
void Start()
{
offset = player.transform.position - Camera.transform.position;
}
// Update is called once per frame
void LateUpdate()
{
Camera.transform.position = transformVecter(-offset, player.transform.position, player.transform.right, player.transform.up, player.transform.forward);
Camera.transform.rotation = Quaternion.LookRotation(player.transform.position - Camera.transform.position);
}
// 求以origin为原点, locX, locY, locZ 为坐标轴的本地坐标系中的向量 vec 在世界坐标系中对应的向量
private Vector3 transformVecter(Vector3 vec, Vector3 origin, Vector3 locX, Vector3 locY, Vector3 locZ)
{
return vec.x * locX + vec.y * locY + vec.z * locZ + origin;
}
相机脱离父物体跟随player(保持距离不变)
最新推荐文章于 2024-11-07 15:38:41 发布
该代码实现了一个Unity3D场景中,相机以特定偏移量跟随玩家对象移动并保持朝向的功能。在Start()函数中计算初始偏移量,LateUpdate()中更新相机位置和旋转,使用LookRotation确保相机始终面向玩家。
4732

被折叠的 条评论
为什么被折叠?



