【发布时间】:2015-09-11 09:55:33
【问题描述】:
所以我想在我的场景中编辑相机的起始高度并尝试将相机向上移动一点。没啥事儿。还测试了它购买大量移动相机,我是否正确假设相机总是在(0,0,0)“生成”/“启动”,从不使用它在场景中的位置。
如果这个假设是正确的,我怎么可能让相机在屏幕中的相机位置启动。我真的不想移动整个场景来重新定位相机。
【问题讨论】:
标签: unity3d 3d camera google-project-tango
所以我想在我的场景中编辑相机的起始高度并尝试将相机向上移动一点。没啥事儿。还测试了它购买大量移动相机,我是否正确假设相机总是在(0,0,0)“生成”/“启动”,从不使用它在场景中的位置。
如果这个假设是正确的,我怎么可能让相机在屏幕中的相机位置启动。我真的不想移动整个场景来重新定位相机。
【问题讨论】:
标签: unity3d 3d camera google-project-tango
我认为有两种解决方案(特别是针对 TangoUnitySDK):
您可以修改 PoseController.cs。例如,示例代码中的here,您可以添加一个偏移向量。
使用 DeltaPoseController 预制件代替 PoseController。 DeltaPoseController 会保持初始位置作为起点,所以你可以把它放在你希望应用程序开始的地方。
【讨论】:
您可以创建一个简单的脚本,在 start() 方法中设置相机的位置:
void Start()
{
transform.position += new Vector(0, 100f, 0);
}
然后将脚本附加到您的相机
【讨论】:
只是我自己想出来的。希望对您有所帮助!
newPose = new Vector3(0,10,0);
yourTangoCamera.GetComponent<TangoDeltaPoseController> ().SetPose (newPose,yourTangoCamera.transform.rotation);
在此处阅读有关 SetPose 的更多信息: https://developers.google.com/tango/apis/unity/reference/class/tango-delta-pose-controller#class_tango_delta_pose_controller_1a19c0ea02c4c538ffcf7cdc3423b222b8
【讨论】: