Unity Camera Switching问题?

时间:2018-03-30 09:13:33

标签: c# unity3d camera

大家好我正在做一个炮弹模式,玩家将拥有一个看起来像狙击屏幕的UI面板。这款相机将跟随敌人,而在常规游戏中,还有另一台相机用于正常播放模式(此相机保持原位)。然而,当我用“E”退出时,当我在大炮相机移动的任何地方切换时,它都会停留在那个移动的位置。有什么方法可以手动将摄像机的位置恢复原位吗?

public class CameraFollow : MonoBehaviour
{

    public Transform target;

    public float smoothSpeed = 0.125f;
    public Vector3 offset;

    public GameObject scopeOverlay;

    public GameObject Camera;

    void FixedUpdate ()
    {
        if (Input.GetKeyDown ("d"))
        {
            Camera.SetActive (false);
            scopeOverlay.SetActive(true);
            Vector3 desiredPosition = target.position + offset;
            Vector3 smoothedPosition = Vector3.Lerp (transform.position, desiredPosition, smoothSpeed);
            transform.position = smoothedPosition;

            transform.LookAt (target);
        }
        if (Input.GetKeyDown ("e"))
        {
            Camera.SetActive (true);
            scopeOverlay.SetActive(false); //To disable it
        }
    }
}

1 个答案:

答案 0 :(得分:3)

保存初始变换值并像这样恢复;

JNIEXPORT jbyteArray JNICALL Java_my_project_byteArray0
(JNIEnv * env, jobject jo)
{
    std::string str = get_something().string();

    jbyteArray ba = env->NewByteArray(str.size());
    env->SetByteArrayRegion(ba, 0, str.size(), (jbyte*)str.c_str());

    return ba;
}