unity3d 如何使用Unity 3D将我的角色固定到相机中心

disho6za  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(134)

我需要一个解决我的问题的方法。
我在Unity 3D中基于AR制作了一个角色,问题是当我在Android手机中构建项目时,我可以找到角色,或者我应该打开相机搜索他在哪里。
我需要把这个物体放到我相机的中心我该怎么做呢,拜托...

cnh2zyt3

cnh2zyt31#

只是重新阅读你的问题,AR一开始跳过了这个问题……所以你不想移动相机,而想移动物体。
在世界空间中找到屏幕的中间是你所要求的。

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

使用你的相机在世界中找到一个点,它在你的视图的中间。你有几个选项,ViewportToWorldPoint例如如上所示。ViewPort调用0.5,0.5屏幕的中间,Z是到相机原点的距离。
你可以交替地从你的相机中心屏幕投射一条光线,然后在地面上找一个点把你的角色放在...需要知道更多关于你的世界设置的信息来进一步帮助。
我以前的答案是如何移动相机...我会把它留在这里,以防它对你有用。
[Edit老答案]
另一个答案将工作,是好的和轻,但有其局限性,随着您的项目的进展。
我recomend Cinemachine的相机工作,在这种情况下,一个简单的Cinemachine虚拟相机设置其‘看‘和optionaly其‘跟随‘是你想要的。
Cinemachine与“虚拟相机”的概念一起工作,这些只是轻而易举的行为,描述了如何“框住”一个镜头,例如看什么,如何移动,你真实的的相机将得到一个电影机器‘大脑‘,它只是听这些虚拟相机,并整理出该做什么,以真正的相机,使它发生。使用这个系统将大大改善你的相机工作,并大大简化它。
像简单地将摄像头附加到播放器对象和类似的工作,但有很大的限制,最终咬你的背后。或者,你可以写一个脚本来转换相机基于自己的自定义逻辑,这里的画回是'球的代码'的问题...这是在第一个逻辑是简单的,但随着你想要越来越多的具体镜头框起来,它得到了成为一个spegettie怪物很快。

相关问题