我有一个设置,我想透露AR场景的某些部分,所以我的计划是使用常规的AR摄像机,然后添加第二个摄像机作为孩子,使用平面和深度遮罩。
ARCamera
|
+- Camera <-- Vuforia Prefab
|
+- Background Plane
|
+- RevealCamera <- My camera
|
+- DepthMask Plane
但是这两个相机并没有保持同步。我的所有场景几何都在一个根节点下,永远不会移动。我看过场景窗口并验证了这一点。我确保两台摄像机都具有相同的平截头体设置。因此,此时唯一可能是相机的移动方式不同。怎么会这样? Vuforia用相机玩弄一些技巧吗?
这是我用来尝试匹配Vuforia相机的代码:
[RequireComponent(typeof(Camera))]
public class FollowMainCamera : MonoBehaviour
{
public Camera target;
private Camera _camera;
void Start()
{
_camera = GetComponent<Camera>();
}
void Update()
{
transform.position = target.transform.position;
transform.localPosition = target.transform.localPosition;
transform.rotation = target.transform.rotation;
transform.localRotation = target.transform.localRotation;
_camera.fieldOfView = target.fieldOfView;
}
}
答案 0 :(得分:1)
Vuforia相机有一个技巧,即在运行时它会更改相机FOV以匹配设备,因此您需要在运行时更新您的RevealCamera以匹配ARCamera的相同。
答案 1 :(得分:0)
问题是“投影矩阵”。似乎Vuforia的AR相机使用自己特定版本的投影矩阵,它定义了“世界”将如何在屏幕上显示。试试这个
then