怎样使用Unity和cardboard vr制作一款VR游戏

扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
查看: 6419|回复: 124
用unity和Google Cardboard制作VR游戏
7排名<font color="#FF昨日变化9主题帖子积分
蛮牛币4293
在线时间531 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
本帖最后由 caedmom 于
10:10 编辑
注:这篇教程是 Feast的一部分。想看Unity Feast中的更多教程或者学习如何加入Unity Feast团队,点击这里。
01.png (62.15 KB, 下载次数: 3)
09:55 上传
Transform a boring ol’top-down game (top) to an exciting VR game (bottom)!
保险地说,可能因为现代电影的经典,大家就已经开始等待虚拟现实的体验了,“割草者”给我们展示了潜在的科技。它许诺了虚拟现实的未来,呃~~~,大家都会有心灵感应能力。或者类似的吧。
在这篇教程中,通过学习简单的游戏并使用Google Cardboard作为虚拟现实体验,你将帮助人类为他们心灵感应的未来和虚拟现实做准备。将会发现改如何做:
在项目中集成一个Cardboard相机
修改UI元素以至于它们可以在VR模式下工作
在VR模式下使按钮可选择
运行时在普通和VR模式下转换
注:在写的时候,注意通过VR设备达到精神控制和成为超人类并不是一个可行的技术,虽然“割草人”向我们展示了。所以,直到Apple有了一个精神控制的API,也只能坚持控制它的前体。
什么是Google Cardboard
理论上,创建VR体验很简单。取代在屏幕上将世界作为一张图来展示,这个同时展示两张。
它们来自放置相隔几英寸的两个摄像机,用户用左眼通过左边的摄像机观看图片,反之亦然,生成表象深度。
此外,加上运动传感器的明智使用,可以检测用户面对的方向。结合创建的3D世界,就会让自己有一个身临其境的体验。
02.png (96.66 KB, 下载次数: 3)
09:55 上传
在实践中,在高清屏幕上需要相当复杂的硬件来显示两张图,还要跟踪用户的头部,并切所有东西都要放在一个足够轻巧的设备中以便不会伤害到脖子。
很好,实际上这种高度先进的技术可能就在你的口袋里,或者放在了触手可及的地方。它几乎存在于每一部智能手机中,这也是Cardboard背后的理念;它可以显示并在手机中传感,可以只用一些指板和塑料透镜将它转变为一个很棒的VR设备。
注:你将会多次使用unityGUI。如果以前从没有用过,也许应该先看看Unity GUI tutorial。
为了开始做自己的Google Cardboard VR游戏,需要以下方面:
Unity个人版,版本5.x。
一部智能手机,iPhone5以上版本或运行Jelly Bean的安卓手机来做测试。还有,这个教程采用的是iPhone。
还有一个Cardbroadunit。
注:如果是初学者对界面不熟悉的话,可以看看这个网站中的Introduction to Unity来快速上手。
等一下….如何获取Cardboard Unit?
没有Cardboard unit?最好的办法是从这里列举的供应商中选择。会花费$20到$30,包括运费。如果感觉像一个DIY达人,可以自己做一个。
买Cardboard设备时,找标有“V2” 或 “Cardboard 2.0”的,因为这些适合更多种类的手机,包括像iPhone 6+这样的大手机。它们还支持用户通过覆盖导电金属条的按钮输入,当点击按钮时可以碰触到手机屏幕。
可以不用Cardboard Unit来完成这个教程吗?
好了,可以在手机上运行自己的游戏了,它看起来是这样的。
03.png (115.97 KB, 下载次数: 3)
09:55 上传
播放时如果盯着屏幕会有近似3D的体验。如果移动手机,可以像把手机捆在头部一样去控制它,还可以通过轻触屏幕模拟点击。
虽然可以播放游戏了,并且通过VRheadset观看是想要的场景,但这并不意味着可以。这就像吃巧克力和如果丧失全身行动能力时看朋友吃咸焦糖巧克力之间的不同。
长话短说:如果实在等不及Cardboard unit的到来,仍然可以学习这篇教程,不过用合适的设备会学到更多的东西。
简单的游戏——Ninja Attack is Back!
花费一些时间来尝试一个简单的游戏,下载并解压Unity starter project(下方回复可见)。
下一步,启动unity,在开始界面,选择Open并选择StarterNinja 文件夹来打开NinjaAttack项目。
在项目浏览器中,双击Assets中的MainScene 。然后点击Play试一下。
你是左边的忍着。怪物会在屏幕走动,点击屏幕的任何位置来发射忍者星并将怪兽打倒!打倒20个怪兽就可以获胜,不过如果怪兽到达了屏幕左侧的红色区域,就输了。
04.png (331.05 KB, 下载次数: 3)
09:55 上传
The blobs are at it again. Will they ever learn?
这个游戏看起来熟悉吗?如果是的长期读者,会认出这个游戏和 SpriteKit and 教程中的是相同的。不过这次在很棒的3D中渲染!
05.png (65.18 KB, 下载次数: 3)
09:55 上传
或许你会注意大多数很棒的面数。整个游戏界面是top-down的啊。这感觉渲染所有的多边形是一种浪费。现在也许明白了为什么这个游戏是做VR的最佳选择。
开始使用Cardboard首先要做的是下载Cardboard SDK for Unity。接下来,将它导入到项目中。从unity的菜单中选择Assets\Import Package\Custom Package…然后选择刚刚下载的CardboardSDKForUnity.unitypackage 。确认每一项都选中了,不要选Legacy 这项,然后点击Import 按钮。
06.png (172.78 KB, 下载次数: 3)
09:55 上传
为了让游戏在VR上体验,需要执行一些快速的dirty hacks。在项目浏览器的Cardboard\Prefabs 文件夹,把CardboardMain 拖入场景中。在检视面板,给它和忍者角色相同的位置——-(5.53, 1.13, 0.122) ,并且Y轴旋转90度。
07.png (48.67 KB, 下载次数: 2)
09:56 上传
通过它的眼睛看到的实时会发现比忍者的中心位置高一些。然后,在层级面板选择Main Camera,并在检视面板中禁用它。对raccoon-ninja 对象做相同的事情。现在,再次在unity中运行游戏,就会看到一个类似于3D的场景!如果按下选项键并移动鼠标,摄像机就会像扭转头一样运动。
08.png (82.75 KB, 下载次数: 3)
09:56 上传
在IOS设备上运行场景
09.png (55.11 KB, 下载次数: 3)
09:56 上传
可以在unity中运行游戏真的是太棒了,不过最后检查的时候,发现在VRheadset中没有适合电脑显示器的方法,这就是为什么要再iPhone上运行了。选择File\Build Settings——IOS应该已经被作为默认平台选择了。点击Player Settings并切换到检视面板。在Resolution and Presentation中,将Default Orientation 改为Landscape Left。在Other Settings中,将Bundle Identifier 改为适合你自己的机构。(像是 com.&your_company&.NinjaAttackVR)将Target Device改为iPhone Only。
10.png (41.89 KB, 下载次数: 3)
09:56 上传
将iPhone连接到电脑,选择Build and Run 并给导出文件夹一个名字;它可以是任何你喜欢的名字。Unity会导出项目,之后应该自动地在Xcode中打开。如果没有,启动Xcode并手动打开生成的项目。运行它,并在手机上尝试一下!
第一次运行游戏时,会在你的Cardboard unit上扫二维码的位置有一个安装过程。它会让Cardboard SDK基于镜头间距离,距离手机的距离等等做出细微的图形调整。
11.png (55.16 KB, 下载次数: 3)
09:56 上传
注:当扫完Cardboard unit的QR码后启动过程中出现Problem in parsing the URL 这样的错误,就不得不修改Xcode项目中的info.plist 了,在Apple developer forums里有。
现在继续把手机放入Cardboard unit里吧。转动头部来适应摄像机的视角,享受这令人信服的3D图形吧。
把它做成一个游戏!可以看到游戏世界感觉很棒,不过还是需要回到游戏设置。尤其是想要可以向面对的方向射击忍者星时。这是首先要解决的玩儿的一部分。对于UI Cardboard支持单一按钮,这点看起来有些限制,不过如果把它和头部移动的运动跟踪结合起来,它将允许更为复杂的交互。
在Ninja Attack中,会检测用户在Cardboard.SDK.VRModeEnabled 属性下的VR模式中。会检查按钮是否在Cardboard.SDK.Triggered 属性下被点击。如果这两项都为真,在用户的视角方向发射一个忍者星。打开NinjaStarLauncher.cs 脚本,会发现它依附于监视面板中的GameLogic 对象。
创建一个新的私有变量:
[C#] 纯文本查看 复制代码private Vector3 _vrShooterO
在Start() 方法中将其初始化:
[C#] 纯文本查看 复制代码_vrShooterOffset=new Vector3(0.0f, -0.4f, 1.0f);
用下边的代码替换Update() 。
[C#] 纯文本查看 复制代码void Update(){
if(Cardboard.SDK.VRModeEnabled&&Cardboard.SDK.Triggered&&
!_gameController.isGameOver){
GameObjectvrLauncher=
Cardboard.SDK.GetComponentInChildren&CardboardHead&().gameO
LaunchNinjaStarFrom(vrLauncher, _vrShooterOffset);
}elseif(!Cardboard.SDK.VRModeEnabled&&Input.GetButtonDown(&Fire1&)&&
!_gameController.isGameOver){
// This is the same code as before
Vector3 mouseLoc=Input.mouseP
Vector3 worldMouseLoc=Camera.main.ScreenToWorldPoint(mouseLoc);
worldMouseLoc.y=ninja.transform.position.y;
ninja.transform.LookAt(worldMouseLoc);
LaunchNinjaStarFrom(ninja, _shooterOffset);
这会让它运转起来,看一下Update() 都做了什么:<font color="#.首先检查游戏是否在VR模式下,并且是否通过检查Cardboard.SDK 单例模式对象点击了按钮。<font color="#.之后呼叫LaunchNinjaStarFrom() 来生成一个忍者星。传入两个参数:A.第一个是head 游戏对象。Cardboard库使它围绕你旋转,所以它应该已经被指向了正确的方向。B.第二个是轻微的偏移量,所以方法生成的忍者星会稍微靠前一些并在head游戏对象下边,这样看起来更自然一些——否则看起来像是从眼睛里发射出来的忍者星一样。这样很酷不过挺怪异的。
由于Ninja Star游戏对象已经被设计为从它创建的位置飞出去,它将会射向正确的方向。
再试一试!这次可以扭动头部并射击坏蛋。输赢的逻辑仍然适用。
12.png (141.25 KB, 下载次数: 2)
09:56 上传
修改游戏结束菜单正如所观察到的,当游戏结束时仍然停留在了原来的游戏结束菜单。它不仅错误的出现在3D中,而且还没有办法点击它。
13.png (133.56 KB, 下载次数: 3)
09:56 上传
Shockingly, thisbutton renders poorly in 3D.
游戏使用了DisplayCanvas ——正如Unity New Gui Tutorial 所见——来显示Game Over界面,其通常在游戏窗口的上方显示。画布对于大多数游戏GUI来说太棒了,因为无论游戏摄像机在做什么它都会自动伸缩来适应屏幕,而且它可以完美的控制不同的屏幕尺寸。
不过在这种情况下,需要一个可以自己存在于世界的GUI canvas,这样就可以在3D中部分正确渲染了,不过也因为不想让它被锁定在摄像机上。你想让用户可以上下观看以便他们可以看到不同的UI元素并通过点击按钮触发可用的按钮。
创建一个新的Canvas在层级面板中选择GameOverCanvas ,右键点击并选择Duplicate。将复制出的画布重命名为VRGameOverCanvas以便与原来的区别开来,并将其GameOverTxt 子对象重命名为VRGameOverTxt。
14.png (9.58 KB, 下载次数: 3)
09:56 上传
在VRGameOverCanvas的Canvas 组件中,将RenderMode 改为World Space。在Rect Transform 组件中,将Position 改为 (-2.24, 1.1, 0.07),并且YRotation 为90。最后,将X 和 Y Scale 改为0.009。所有都做好之后,VRGameOverCanvas应该是这样的:
15.png (41.26 KB, 下载次数: 3)
09:56 上传
在Game View 会看到两个画布相互重叠到了一起(当游戏没有运行的时候):
16.png (98.38 KB, 下载次数: 3)
09:56 上传
这些值是从哪里来的?说实话,我以前只是乱弄,直到通过Cardboard摄像机观察他们看起来还不错。有些时候程序设计更多是艺术而不是科学。
支持两个画布
接下来,要去改变GameController.cs 以便可以识别到两个画布。打开同样依附于GameLogic 游戏对象的GameController脚本。
在类中添加下边两个公有变量:
[C#] 纯文本查看 复制代码public Canvas VRGameOverC
public Text VRGameOverT
在resetGame()开始的位置添加下面这行:
[C#] 纯文本查看 复制代码VRGameOverCanvas.enabled=
替换GameOver() :
[C#] 纯文本查看 复制代码VRGameOverCanvas.enabled=
[C#] 纯文本查看 复制代码publicvoidGameOver(booldidIWin){
isGameOver=
_didIWin=didIW
stringfinalTxt=(_didIWin)?&You won!&:&Too bad&;
if(Cardboard.SDK.VRModeEnabled){
VRGameOverCanvas.enabled=
VRGameOverTxt.text=finalT
gameOverCanvas.enabled=
gameOverTxt.text=finalT
这个设备将可以正确的显示画布和文本对象,并且取决于是否在VR模式下(Cardboard.SDK.VRModeEnabled)。保存脚本之后,需要为新的公有变量分配正确的对象。
在监视面板中找到GameController 脚本。点击每个新变量旁边的目标,选择VRGameOverCanvas 对象作为VR Game Over Canvas变量,VRGameOverTxt对象作为VR Game Over Txt 对象。
17.png (28.38 KB, 下载次数: 3)
09:56 上传
注:你会对为什么要经历支持两个画布的麻烦而不是仅仅改变现有的一个这个困惑吗?因为最终要同时支持top-down和VR两种模式。继续看!
如果现在要运行游戏,应该会在VR模式下看到游戏结束屏。可以上下打量一下来看看界面的不同部分;丢失的是点击PlayAgain 按钮的方法。
18.png (103.88 KB, 下载次数: 3)
09:56 上传
添加注视输入幸好,当使用世界GUI画布时unity对“把相机中心点作为鼠标光标”有内置的支持,不过为了让它在VR空间里也能工作则需要提供一个额外的脚本。首先,在层级面板扩展Cardboard Main\Head 。找到Main Camera 并重命名为VR Main Camera。
19.png (7.12 KB, 下载次数: 3)
09:56 上传
选择VRGameOverCanvas 对象。会在Canvas 组件下看到一个Event Camera 入口。点击目标并选择刚刚重命名的VR Main Camera 。
20.gif (131.16 KB, 下载次数: 3)
09:56 上传
在层级面板点击EventSystem 对象。在检视面板点击Add Component 并添加GazeInputModule 脚本。这是一个确保unity的GUI系统理解Cardboard摄像机工作方式的脚本。
点击VR Mode Only 选框,因为当你在VR模式下而不是游戏的top-down版本时只想这样来工作。可以不选Show Cursor。
最后,点击刚刚添加的Gaze Input Module 组件中的gear 并选择Move Up。多做几次就会在Touch Input and Standalone Input 模块上方出现。这个需要确认注视输入模块要比其他任何游戏可以运行的输入方式的优先级高。所有都做完后,看起来应该是这样的:
21.png (112.56 KB, 下载次数: 3)
09:56 上传
现在试一下!这次,当视角集中到Play Again按钮时,它就会变绿,按下Cardboard上的按钮就会允许你“点击”它并开始新的游戏!
22.png (99.75 KB, 下载次数: 3)
09:56 上传
游戏设置细微调整也许会觉得这个版本在VR模式下玩儿有点儿难。这在一定程度上是因为视野区域较小,而且当看错误的方向时敌人很容易的掠过。还有,不能像原来一样快速的改变瞄准方向。你被脖子的扭转速度从身体上限制了。
23.png (81.57 KB, 下载次数: 5)
09:56 上传
你不想让玩家因为选择了VR模式下游戏而感觉不好!所以怎样来修正这个?
24.png (80.99 KB, 下载次数: 3)
09:56 上传
好了,我建议让敌人的速度慢下来。
在Prefabs 文件夹里选择EvilSlimeEnemy 预制件并打开附加的EnemyMover.cs。设置了thisSpeed后在Start()中添加这个代码:
[C#] 纯文本查看 复制代码if(Cardboard.SDK.VRModeEnabled){
thisSpeed*= 0.85f;
这会使敌人聚集一些。如果想让它们保持一些距离,去EnemySpawner.cs——依附于GameLogic 对象——并且设置完launchInterval后在SetNextLaunch() 里添加这几行:
[C#] 纯文本查看 复制代码if(Cardboard.SDK.VRModeEnabled){
launchInterval*= 1.1f;
这会使游戏在VR模式下容易一些——仅仅使你的玩家不会因为选择这种模式而感觉不好了。
修改屏幕上的分数另外一个需要处理的UI元素是屏幕上的分数对象,还要对这个用稍微有些不同的方法。由于它需要在VR模式下正确显示,就想要无论看向哪里它都会对摄像机作出修正。想象一下分数可以在一个保持移动的镜片上显示而且总是和玩家看的保持2米距离。这就是要创建的效果。
通过用另外一个在3D中正确渲染的画布完成了这点,不过还要将它作为Cardboard Head 对象的子集。在层级面板中选择Cardboard Main\Head 。右击并选择UI\Canvas 。将新画布重命名为VRScoreCanvas 。将它的RenderMode 改为World Space 。给它下边的值: Position: (0, 1, 2.5)Width: 400, Height: 100Rotation: (0,0,0)Scale: (0.5, 1)位置 (0, 1, 2.5)宽: 400, 高: 100高: (0,0,0)缩放: (0.5, 1) When you’re all done, it should look like this:
当所有都做完后,看起来应该是这样的:
25.png (77.38 KB, 下载次数: 3)
09:56 上传
在VRScoreCanvas右击并选择UI\Text 来添加一个文本子对象。将它重命名为VRScoreTxt。将anchor point 改为top-left。给它一个位置坐标(150, -65, 0) 和一个60的Width。
在下一个组件中,将Font Size改为18并将Alignment 改为right-aligned。最后,将Text 改为999.
当所有都做完后,看起来应该是这样的:
26.png (80.49 KB, 下载次数: 3)
09:56 上传
也许文本看起来被奇怪的对齐在了屏幕中间,不过在VR模式下会看到比正常小很多的世界,所以这个放在靠近视角的边缘位置看起来很不错。随意调整以便在手机上看起来是在右边的位置。
接下来,用这个文本添加渠道来显示分数。这个和显示Game Over画布的方式是一样的。打开GameController.cs 并添加一个新的公有变量:
[C#] 纯文本查看 复制代码public Text VRScoreT
然后每次更新scoreTxt时要更新VRScoreTxt 。在ResetGame() 方法中,更新完scoreTxt后添加这一行:
[C#] 纯文本查看 复制代码VRScoreTxt.text=&--&;
当更新完scoreTxt后将下边这行加入到GotOne()中。
[C#] 纯文本查看 复制代码VRScoreTxt.text=&&+ _currS
保存脚本,回到unity中会注意到GameLogic 的GameController 组件现在有了一个空的VR Score Txt 变量。点击旁边的目标并选择VRScoreTxt 文本对象。
27.gif (210.53 KB, 下载次数: 3)
09:56 上传
再次播放一下游戏,现在就回看到分数显示在了视角的左上方角落处,还可以允许头部移动。
28.png (107.62 KB, 下载次数: 3)
09:56 上传
来回转换VR模式既然游戏可以在top-down和VR两种模式下玩儿,就应该给玩家在两者之间切换的功能。这个的UI很简单。在top-down游戏中添加一个简单的按钮以便用户可以点击来切换为VR模式。相反,Cardboard SDK自动的显示一个可以回到top-down模式的返回按钮。试一下!
首先,需要添加控制cardboard模式转换的代码。在层级面板中选择GameLogic 。在检视面板中选择Add Component ,选择New Script 并将新脚本命名为CardboardSwapper。打开它,将用下边代码进行替换:
[C#] 纯文本查看 复制代码publicclassCardboardSwapper:MonoBehaviour{
publicGameObject[]cardboardO
publicGameObject[]monoO
// Turn on or off VR mode
voidActivateVRMode(boolgoToVR){
foreach(GameObjectcardboardThingincardboardObjects){
cardboardThing.SetActive(goToVR);
foreach(GameObjectmonoThinginmonoObjects){
monoThing.SetActive(!goToVR);
Cardboard.SDK.VRModeEnabled=goToVR;
// Tell the game over screen to redisplay itself if necessary
gameObject.GetComponent&GameController&().RefreshGameOver();
publicvoidSwitch(){
ActivateVRMode(!Cardboard.SDK.VRModeEnabled);
void Update (){
if(Cardboard.SDK.BackButtonPressed){
void Start(){
ActivateVRMode(false);
这个脚本中最重要的方法是触发Cardboard.SDK.VRModeEnabled值的ActivateVRMode 。这个是用来激活Cardboard的VR模式的。剩下的逻辑是用来启用或禁用场景中各种游戏对象的,这个取决于是否在VR模式下。
top-down模式下在Start() 开始游戏时呼叫ActivateVRMode(false) 。会注意到在Cardboard显示中当检测到返回按钮已经被按下时呼叫了Switch() 。可以通过在unity中按下esc 键来模拟Cardboard.SDK.BackButtonPressed,毫无疑问这是一个非常方便的特性。还需要在GameController 脚本中加入一些逻辑以便如果在游戏结束时转换了模式时显示或隐藏正确的画布。打开GameController.cs并添加下面的方法:
[C#] 纯文本查看 复制代码publicvoidRefreshGameOver(){
gameOverCanvas.enabled=
VRGameOverCanvas.enabled=
if(isGameOver){
GameOver(_didIWin);
保存所有并回到unity中填入两个游戏对象数组的值。
在层级面板中选择GameLogic 并在检视面板中下拉到Cardboard Swapper 组件。
对于Cardboard Objects 数组,给它一个1,然后填入场景中CardboardMain游戏对象的子对象Head 。这样不仅禁用了Cardboard Head以便回到top-down摄像机,同时还禁用了VRScoreCanvas 。
对于Mono Objects 数组,给它一个3,然后从场景中(不是从Assets中)选择Canvas,Main Camera和raccoon-ninja 。
29.png (20.05 KB, 下载次数: 4)
09:56 上传
最后,需要为用户在top-down画布添加一个按钮。为了节约时间,我已经为大家做好了——在预制件文件夹中。
将CardboardButton 从Assets\Prefabs 拖入到层级面板中并作为Canvas 对象的子集。确保它的Position 设置为(-50, 50, 0):
30.png (46.48 KB, 下载次数: 3)
09:56 上传
在按钮对象的下方,将它挂号以便点击按钮可以呼叫依附于GameLogic的CardboardSwapper.Switch()方法。可以根据下边的动画来观看是怎么完成的:
31.gif (1.13 MB, 下载次数: 3)
09:56 上传
给游戏另一个尝试。点击屏幕右下角的按钮来切换到VR模式,然后点击在Cardboard上显示的返回按钮(或者是在unity中点击Escape)来切换回top-down模式。
32.png (154.27 KB, 下载次数: 3)
09:56 上传
Congratulations! You’re swapping VR Modes like a boss!
33.png (33.9 KB, 下载次数: 3)
09:56 上传
该何去何从现在已经有能力在unity中做3D游戏了,并可以仅仅用一个小小的cardboard和一些塑料透镜来做成VR体验游戏。每个人都可以用VR!build process for 在IOS中几乎是一样的。Google的Unity Developer Guide 提供了一些额外的技术信息。最后,甚至可以在VR项目中加入Augmented Reality (AR) !还有,看一下任何可以在unity中制作的游戏,看有没有一些可以很好的转换为VR体验。或许这个教程激发大家创建一些全新的东西。像往常一样,在下边或论坛中随意写下你们的问题和评论!还有,你过你能解决怎样用意念控制割草机,请让我知道——我仍然在研究那个呢。
游客,如果您要查看本帖隐藏内容请
原文作者:Todd Kerpelman
原文链接:
扫描下方二维码关注官方微信~每日都有精选干货与你分享呦~
1.jpg (20.97 KB, 下载次数: 3)
17:35 上传
本文由蛮牛译馆倾情奉献,除 合作社区 及 合作媒体 外,禁止转载。
unity如何制作vr游戏;ununity 5.4unity 光标隐藏;虚拟现实应用虚拟现实对眼睛的伤害;虚拟现实v2;虚拟现实wp能用虚拟现实吗;unity vr游戏制作;gounity隐藏光标;虚拟现实虚拟现实伤害眼睛;v2虚拟现实是什么;v2虚拟现实;diy虚拟现实;wp有没有虚拟现实;wp怎么用虚拟现实
本帖被以下淘专辑推荐:
& |主题: 73, 订阅: 6
每日推荐:
72128/5000排名<font color="#FF昨日变化2主题帖子积分
日久生情, 积分 2128, 距离下一级还需 2872 积分
日久生情, 积分 2128, 距离下一级还需 2872 积分
蛮牛币4184
在线时间677 小时
用unity和Google Cardboard制作VR游戏,值得技术宅们看一看,动手学习哦+++++1
每日推荐:
9排名27昨日变化主题帖子积分
在线时间1405 小时
好麻烦。。。。。。。。。。。。。
每日推荐:
72215/5000排名<font color="#FF昨日变化1主题帖子积分
日久生情, 积分 2215, 距离下一级还需 2785 积分
日久生情, 积分 2215, 距离下一级还需 2785 积分
蛮牛币2031
在线时间582 小时
Google的Unity Developer Guide 提供了一些额外的技术信息。
每日推荐:
61394/1500排名<font color="#FF昨日变化2主题帖子积分
蛮牛粉丝, 积分 1394, 距离下一级还需 106 积分
蛮牛粉丝, 积分 1394, 距离下一级还需 106 积分
蛮牛币1280
在线时间531 小时
每日推荐:
71611/5000排名<font color="#FF昨日变化4主题帖子积分
日久生情, 积分 1611, 距离下一级还需 3389 积分
日久生情, 积分 1611, 距离下一级还需 3389 积分
蛮牛币3587
在线时间616 小时
ljhbljhbljhbljhbljhbljhbljhbljhbljhbljhbljhbljhbljhbljhbljhbljhb
每日推荐:
71611/5000排名<font color="#FF昨日变化4主题帖子积分
日久生情, 积分 1611, 距离下一级还需 3389 积分
日久生情, 积分 1611, 距离下一级还需 3389 积分
蛮牛币3587
在线时间616 小时
,你们, 闽南,vnm,jmmmmmmmmmmmmmmmmmmm
每日推荐:
7排名<font color="#FF昨日变化10主题帖子积分
在线时间366 小时
好长啊!!很给力。
每日推荐:
124/50排名<font color="#FF昨日变化22主题帖子积分
注册看看, 积分 24, 距离下一级还需 26 积分
注册看看, 积分 24, 距离下一级还需 26 积分
在线时间9 小时
用unity和Google Cardboard制作VR游戏,值得技术宅们看一看,动手学习哦+++++1
每日推荐:
61299/1500排名<font color="#FF昨日变化1主题帖子积分
蛮牛粉丝, 积分 1299, 距离下一级还需 201 积分
蛮牛粉丝, 积分 1299, 距离下一级还需 201 积分
蛮牛币5047
在线时间487 小时
看看&&翻译的技术帖&&并且带有原文链接&&路过给个赞
[]: 一个袋子砸在了 fairyzoro 头上,fairyzoro 赚了 1
每日推荐:
285/150排名<font color="#FF昨日变化45主题帖子积分
初来乍到, 积分 85, 距离下一级还需 65 积分
初来乍到, 积分 85, 距离下一级还需 65 积分
在线时间66 小时
赞一个,虽然没怎么看懂~~
每日推荐:
136/50排名<font color="#FF昨日变化15主题帖子积分
注册看看, 积分 36, 距离下一级还需 14 积分
注册看看, 积分 36, 距离下一级还需 14 积分
在线时间10 小时
...VR越来越平民化了
每日推荐:
4485/500排名<font color="#FF昨日变化7主题帖子积分
四处流浪, 积分 485, 距离下一级还需 15 积分
四处流浪, 积分 485, 距离下一级还需 15 积分
蛮牛币1405
在线时间175 小时
学习~~~~~~~~~~~~~~~~
每日推荐:
72435/5000排名<font color="#FF昨日变化1主题帖子积分
日久生情, 积分 2435, 距离下一级还需 2565 积分
日久生情, 积分 2435, 距离下一级还需 2565 积分
蛮牛币3949
在线时间624 小时
不错 ................................
[]: lijian5073 被钱袋砸中进医院,看病花了 1
每日推荐:
71938/5000排名<font color="#FF昨日变化1主题帖子积分
日久生情, 积分 1938, 距离下一级还需 3062 积分
日久生情, 积分 1938, 距离下一级还需 3062 积分
蛮牛币6106
在线时间491 小时
很好。从没有过的体验
[]: wuzhialex 发帖时在路边捡到 1
蛮牛币,偷偷放进了口袋.
每日推荐:
经过游戏蛮牛认证的蛮牛小翻译
游戏蛮牛给予质量较高、影响力较大的unity相关技术开发者的荣誉称号
七夕浪漫情人
2015年蛮牛社区浪漫七夕 最美情话活动获奖者
社区QQ达人
使用QQ帐号登录论坛的用户
连续签到30天
蛮牛论坛干货区作者
认证开发者
经过游戏蛮牛认证的独立开发者

我要回帖

更多关于 unity3d vr cardboard 的文章

 

随机推荐