我如何通过统一3d将我的角色固定在相机中心

时间:2018-02-16 11:09:04

标签: unity3d camera augmented-reality avatar

我需要解决我的问题。
我在基于AR的统一3d基础上制作一个角色,问题是当我在我的Android手机中构建项目时,我可以找到该角色,或者我应该将相机转为搜索他在哪里。
我需要将这个物体放到我的相机中心,我该怎么办呢,请...

2 个答案:

答案 0 :(得分:0)

问题不是最清楚,但我建议将相机附加到您想要在编辑器中看到的游戏对象。 这个链接是一个统一教程。 https://unity3d.com/learn/tutorials/projects/2d-ufo-tutorial/following-player-camera

答案 1 :(得分:0)

刚刚重新阅读你的问题,AR一开始就躲过了......所以你不想移动相机,而是想要移动物体。

要在世界空间中找到屏幕中间是你要求的。

Camera.current.ViewportToWorldPoint(new Vector3(0.5f,0.5f, 100));

使用相机查找世界中位于视图中间的点。您有几个选项,例如ViewportToWorldPoint,如上所示。 ViewPort在屏幕中间调用0.5,0.5,Z是距离相机原点的距离。

您可以从相机中心屏幕投射一条光线并在地面上找到一个点,让您的角色处于... ...需要了解更多有关您的wourld设置以进一步帮助的信息。

我的老答案是如何移动相机...我会留下它对你有用的情况。

[编辑旧答案]

另一个答案是有效的,并且很好,很轻,但随着项目的进展有其局限性。

我推荐Cinemachine用于相机工作,在这种情况下,一个简单的Cinemachine虚拟相机设置它的“Look At”,并选择它的'Follow'就是你想要的。

https://unity3d.com/learn/tutorials/topics/animation/using-cinemachine-getting-started

上面的Cinemachine tutorail。简而言之,Cinemachine采用了“虚拟相机”的概念,这些只是轻巧易用的方式,可以描述如何“构建”一个镜头,例如看什么,如何移动等 你真正的相机将得到一个Cinemachine'大脑',它只是听取这些虚拟相机,并分析如何做真正的相机,以实现它。与此系统达成协议将极大地改善您的相机工作并大大简化它。

简单地将相机连接到播放器对象和类似的工作,但有很大的限制,最终最终咬你在背后。 另外你可以根据你自己的自定义逻辑编写一个脚本来转换相机,这里的绘图就是“代码球”问题......首先逻辑很简单,但是你想要更多更具体的镜头框架它很快成为了一个怪物怪物。