基于Unity3D的google cardboard开发
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最基础的开发就到这里。本人也是刚开始学习,很多不懂的地方,请多多指教。谢谢大家。
更多推荐
所有评论(0)