我正在尝试实现传送效果,并且需要在传送目的地生成一个新相机。但是,无论我尝试什么,我都无法更改新实例化的相机的位置和旋转,它甚至不会在我告诉它的地方生成。这是生成代码以及一些调试输出:
Camera targetCamera = Object.Instantiate
(
cameraPrefab,
camera.transform.position,
camera.transform.rotation
);
Debug.Log(camera.name + ": " + camera.transform.position + ", "
+ targetCamera.name + ": " + targetCamera.transform.position);
Debug.Log(camera.name + ": " + camera.transform.rotation + ", "
+ targetCamera.name + ": " + targetCamera.transform.rotation);
调试输出后我立即暂停程序。
代码中的camera指的是Main Camera对象。
两个相机对象的位置和旋转输出与检查器中显示的完全不同:
因此,不仅 targetCamera 不会在我告诉它的地方生成,而且调试和检查器值也完全不同。
我已经尝试在实例化后再次设置 targetCamera 位置和旋转,但这没有任何作用。我还尝试使用预制件创建一个新的 XROrigin 对象,将 targetCamera 附加到该对象并使用 XROrigin.MoveCamerToWorldLocation,但这也没有将其移动到正确的位置。我在这里做错了什么?
为什么不使用XR内置的传送系统呢?更容易更好