我有两个相机:相机#1和相机#2。从一开始就启用了相机#1并显示了场景。一段时间后,我将切换到相机#2 (启用它,以便它可以显示场景)。
这是我的代码:
foreach(Camera c in GameObject.FindObjectsOfType(typeof(Camera)))
{
if ((c.name == "Camera #1") && (c.transform.position.x>30))
{
c.enabled = false;
foreach(Camera d in GameObject.FindObjectsOfType(typeof(Camera)))
{
if(d.name == "Camera #2")
{
d.enabled = true;
}
}
}我可以成功地改变相机之间的位置,但是我有一个问题:不仅仅是摄像机#1,而且相机#2也从场景的一开始就开始移动。所以,当我换到相机#2时,我可以看到相机#2几乎完成了它的终点。
我想开始相机2号的运动,只有当我改变它。
如何启动/停止摄像机#2‘的运动?或者如何将相机2号的运动复位到它的起点?
(我使用的是相机路径动画资产。)
发布于 2015-12-29 11:52:49
有几个可能的问题:
发布于 2015-12-29 11:59:40
我会考虑在整个上下文中使用动画(如果可能的话)。你好像在制作某种电影动画。
把你的相机放在GameObject下面。那家伙得到了动画师并创造了一个动画。
该动画将控制位置,如果相机是启用的时间。动画曲线和样式表允许简单和有效的控制。此外,如果需要调用一些外部方法,还可以使用AnimationEvent。
http://docs.unity3d.com/Manual/class-AnimatorController.html
发布于 2016-01-02 12:56:25
这是一段代码,它禁用了相机动画器,并停止了相机#2的移动,直到相机#1到达特定的坐标。
https://stackoverflow.com/questions/34510167
复制相似问题