博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【VR游戏】封神榜传
阅读量:5359 次
发布时间:2019-06-15

本文共 1456 字,大约阅读时间需要 4 分钟。

领悟

导入SteamVR和VRTK,SteamVR要和CameraRig位置保持一致。
1.可以创建多个scene,然后进行连接跳转。但是创建好之后要自己重新导回scene
附:删除MainCamera,添加SteamVR和CameraRiq是必须的。
2.实现瞬移功能: Vivo Teloport
(1)然后给左右手柄:VRTK_ControllerEvents,接收手柄的所有输入【基础类】。
添加脚本VRTK_BezierPointer,贝塞尔曲线的指针;
(2)然后给CameraRig添加VRTK_Basic Teleport,处理camera的一些移动。
出现了一个问题:手柄瞬移,但是视角没有瞬移。
MainCamera要删掉,不然手柄没办法和视角同步。

3.添加UI

(1)添加UI-Canvas-Image,把Canvas的Render Mode改成‘世界’
(2)添加图片,改类型为sprite(如果不转不能添加到image上面)
(3)增加交互功能。button,添加Button组件(使用VRTK) VRTK_Button,然后添加UI-Button改变颜色
(4)找到左手柄添加脚本:监听按键指针--“VRTK_Controller Events”,激光指针脚本“VRTK_Simple Pointer(把左手柄加进去)”--显示激光射线(和上面贝塞尔很像)
添加和UI交互的脚本(指针)--VRTK_UI Pointer(和UI交互的指针)。同样的脚本,给右手柄也添加一份。
(5)做一个UI列表:在Canvas下添加Panel,添加布局组件(设置多行多列):Grid Layout Group;然后在Panel下面加入8个button;然后添加8张图片,改成Sprite属性(凡是想变成UI的图片,都要变成Sprite属性),然后点击右下角的Apply,然后再button下的Image-Source Image添加图片,然后设置间隔,限制为两行。然后设置指向(highlighted)和点击(pressed)后颜色。
(6)这节说一说VR的交互,写代码驱动逻辑
注:图片是要加到button上的(image),开始按钮使用panel(添加Grid Layout Group,添加完这个之后没办法调整左右上下变化,重新改用image)
写好脚本之后,指定panellist和startbutton,在开始按钮-image下的On Click添加事件,然后把Canvas拖进去,然后选择UI.ShowPanelList.如果需要跳转主界面,我只需要在ShowPanelList里面写scene写true就好了。
normalized

4.弓箭制作流程:

(1)箭的细节,复制一份,然后把源文件来出来保存到prefabs,复制后的那份做弓箭起始点。把ArrowStart属性只保留transform。
(2)调节好弓的大小之后放到左手柄,记得保证位置全为0(这样才能贴在手柄上)

 

5.给prefab添加声音:

public AudioClip Clip;
AudioSource _AudioSource; //这两个是必须的

然后在目标位置放置:

_AudioSource.PlayOneShot(Clip)

然后需要在prefab上添加AudioSource组件就可以了。

转载于:https://www.cnblogs.com/osmondwang/p/7781495.html

你可能感兴趣的文章
黑客攻防入门秘籍
查看>>
Swift迎来了1.0 GM 版(2014.09.09)
查看>>
【iOS开发-68】APP下载案例:利用tableView自带的cell布局+缓存池cell复用时注意button状态的检查...
查看>>
《Genesis-3D开源游戏引擎-FQA常见问题解答》2014年01月10号版本
查看>>
Java 编程下实现随机无重复数字功能
查看>>
Android 编程下的代码混淆
查看>>
animation属性
查看>>
页内的模块和组件抽象规划经验
查看>>
安全-分析深圳电信的新型HTTP劫持方式
查看>>
将Centos的yum源更换为国内的阿里云源
查看>>
git diff 的用法
查看>>
一段sql的优化
查看>>
十进制与十六进制的相互转换
查看>>
在Flex中用Validator检测数字、字符串、Email.
查看>>
[leetcode]4Sum
查看>>
POJ1062 昂贵的聘礼
查看>>
【零基础学习iOS开发】【02-C语言】08-基本运算
查看>>
Java 将指定字符串连接到此字符串的结尾 concat()
查看>>
Hibernate Criterion
查看>>
Python知识
查看>>