【发布时间】:2015-12-21 14:42:06
【问题描述】:
我正在统一开发赛车游戏。我将汽车移动脚本放在机器人汽车和主摄像头中。相机在前进时跟随汽车,但是当汽车与其他物体发生碰撞并且汽车转移其位置时,或者当我转弯时汽车也转向相机但比汽车早,因此汽车超出范围。我尝试放置角色控制器,尝试将相机放置在层次结构中,即使使用流畅的跟随脚本,它也不能流畅地跟随汽车。所以告诉我如何让相机跟随汽车,就像我们在其他赛车游戏中看到的那样。
【问题讨论】:
标签: unityscript
我正在统一开发赛车游戏。我将汽车移动脚本放在机器人汽车和主摄像头中。相机在前进时跟随汽车,但是当汽车与其他物体发生碰撞并且汽车转移其位置时,或者当我转弯时汽车也转向相机但比汽车早,因此汽车超出范围。我尝试放置角色控制器,尝试将相机放置在层次结构中,即使使用流畅的跟随脚本,它也不能流畅地跟随汽车。所以告诉我如何让相机跟随汽车,就像我们在其他赛车游戏中看到的那样。
【问题讨论】:
标签: unityscript
对于这种类型的游戏(相机设置为跟随某个对象,从 A 地到 B 地),我推荐的做法是创建一个空的游戏对象,您希望相机在该游戏对象上结束于汽车,另一个空的游戏对象gameobject 以汽车为父对象,用于您希望相机注视的位置。
在此之后,使用标准资产附带的基本相机跟随和相机注视脚本,并使用平滑因子来适应您的游戏。您必须确保为您的项目导入了脚本包。
或者,如果包已导入,请选择您的相机,进入组件菜单,然后在“相机控制”下选择“平滑跟随”脚本。
如果您需要相机根据(例如)汽车在路上的位置动态改变位置,我会考虑相同的解决方案,但使用 iTween 沿预定义路径改变两个游戏对象的位置。
更多关于: 平滑跟随:http://wiki.unity3d.com/index.php/SmoothFollow2 看:http://docs.unity3d.com/ScriptReference/Transform.LookAt.html
【讨论】:
只需将相机作为子对象添加到汽车
【讨论】:
设置游戏摄像机确实具有挑战性,尤其是在车辆摄像机控制方面,因为摄像机移动速度取决于车辆速度,使用 C# 脚本控制车辆摄像机有点困难。
我强烈建议您在“Cinemachine 包”中使用统一构建 ' 你可以免费安装它。如果你想了解电影机 去看看这个视频 https://www.youtube.com/watchv=X33t13gOBFw&list=PLOBPWyvPXShNN01VQ1LLPqfCtqeRo95Z1&index=23 顺便说一句,在这个视频中,他们正在为车辆设置电影摄影机
【讨论】:
你可以
将相机设置为您汽车的子项(您想要 关注)
写下这段代码taken from here
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour {
public GameObject player; //Public variable to store a reference to the player game object
private Vector3 offset; //Private variable to store the offset distance between the player and camera
// Use this for initialization
void Start ()
{
//Calculate and store the offset value by getting the distance between the player's position and camera's position.
offset = transform.position - player.transform.position;
}
// LateUpdate is called after Update each frame
void LateUpdate ()
{
// Set the position of the camera's transform to be the same as the player's, but offset by the calculated offset distance.
transform.position = player.transform.position + offset;
}
}
【讨论】:
一种方法是将相机设置为汽车的子级。这将基本上锁定相机,并在汽车和相机之间的位置和旋转中为其提供相同的偏移量。您也可以尝试 Cinemachine,它是一个包含许多有用功能的软件包,它们基本上可以做同样的事情,同时还为您提供一些您可能想要的更多功能。如果您真的想深入了解它,这里有相当多的文档:
https://unity.com/unity/features/editor/art-and-design/cinemachine
【讨论】: