基于Unity3D的google cardboard开发

来源:互联网 发布:豆瓣fm推荐算法 编辑:程序博客网 时间:2024/06/07 17:21

google cardboard 很好玩,提供的例子也很容易上手。google大法好。


首先,下载google cardboard的sdk。https://github.com/googlesamples/cardboard-unity



打开Unity3D,导入SDK包





如果是Unity3D版本中5以上的,不需要导入Legacy目录。



新建一个场景,把里面的东西删空,然后从cardboard的预制件中,把CardboardMain拖到场景里面。



其实,最简单的开发到这里就可以了。现在在场景里面添加个方块。可以点击Head下的摄像头看默认效果。



这个时候,点击editor里的运行就可以看到实际效果了。

这个时候,可以通过按住Alt键+鼠标左右移动模拟带上cardboard后头左右转动的效果。也可以按住Ctrl+鼠标左右移动模拟头左右歪来歪去。



到这里,最最基础的cardboard的程序开发就算完成了,发布到手机上就可以用来。

因为带上cardboard的时候,没办法操作,所以,需要一个对准焦点的东西,google cardboard的sdk也提供了这个功能。

接下来,开始实行,但视野对准方块时的操作。


首先在Head下的Main Camrea里添加Physics Raycaster组件



重新选择Physics Raycaster组件的event mask,这里很重要。如果不勾选,会导致3D瞄准点漂移。



在Head下面,添加一个空的game object。暂时命名为Target



先做一个2D的瞄准点,直接把一个2D sprite拖到新建的game object下。





写一个简单的脚本,两个公开方法,分别是当视野瞄准方块和从方块移开的时候。



在场景里面添加一个EventSystem对象,并且把自带的Standalone Input Module组件删除。



再在EventSystem对象上添加cardboard的Gaze Input Module组件



把之前新建的对象拖到Cursor里



接着,为方块添加Event Trigger组件



再在Event Trigger里点击点进入,点离开,点点击事件,把刚才写的脚本也添加到方块上。



设置事件发生时调用的方法。Point Down是点击以后才发生,当使用cardboard的时候,其实是没用的。



这个时候瞄准点击添加好了。运行看下,当正对方块的时候,会显示刚才放进去的那个小图标,不过,会被遮住一部分。同时,脚本也起作用了。



当然,也可以用3D对象作为瞄准点,现在删掉2D sprite,添加一个球体。这里注意,一定要修改Layer,不能是Main Camera的组件Raycaster的Mask选中的Layer,否则会出现漂移。



这个时候再运行看下,当正对方块的时候,新添加到小球就显示出来了。



基于Unity3D的google cardboard最基础的开发就到这里。本人也是刚开始学习,很多不懂的地方,请多多指教。谢谢大家。

12 1