我的相机里有一个脚本跟在我的主角后面,这是剧本:
public class CameraFollow : MonoBehaviour {
public Transform target; // this is my player
public float smoothing;
Vector3 offset;
float lowy;
// Use this for initialization
void Start () {
offset = transform.position - target.position;
lowy = transform.position.y;
}
// Update is called once per frame
void FixedUpdate () {
Vector3 targetcampos = target.position + offset;
transform.position = Vector3.Lerp(transform.position, targetcampos, smoothing * Time.deltaTime);
}
}我想知道我的相机是如何跟随脚本暂时切换到一个对象(我的对象是滚石)。我计划在对象(rock)进入对象的另一个collider2d并在几秒钟后将以下行为返回给我的角色时,就会发生这种情况。
发布于 2018-07-25 15:28:39
总结:当岩石进入对撞机时,对撞机将摄像机目标设置为另一个变换。
空触发器对撞机上的脚本
CameraFollow m_MainCamera;
void Start()
{
m_MainCamera = Camera.main.GetComponent<CameraFollow>();
}
OnTriggerEnter(collider coll)
{
if(coll.gameObject.tag == "rock")
{
m_MainCamera.SwapTargetTo(coll.transform);
}
}注意:记得给石头贴个标签!
现在更新您的相机脚本如下:
public Transform player;
public Transform target;
void Start()
{
target = player;
}
void SwapTargetTo(Transform newTarget)
{
target = newTarget;
}当你进入另一个空对撞机时,你可以让目标交换,做同样的事情,或者做一个协同线来检查时间,这取决于你!
编辑:如果你想要花哨的东西,试试CameraMachine!:D。
https://stackoverflow.com/questions/51522270
复制相似问题