《Unity引擎》_第16章教学材料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

16.1项目准备工作新建一个Unity项目,取名为VRHome,先保存场景VRHome,如图16.1所示。导入样板间模型和谷歌的CardBoardSDK,直接把CardboardSDKForUnity和shljz.FBX拖到Unity的Project窗口,如图16.2所示。把场景里的主摄像机MainCamera删除,这里使用的是谷歌CardBoardSDK里的摄像机,里面封装好了VR的功能(包括陀螺仪、屏幕左右分屏)。下一页返回16.1项目准备工作

把虚拟样板间模型拖到场景里面,预览模型,一些门模型的位置需要调整。调整完毕后把样板间的Transform组件Reset重置一下,让它位于世界坐标系的中心(0,0,0)位置,如图16.3所示。把Cardboardsdk里面的摄像机CardboardMain拖到场景里。调整相机的位置至合适的角度.上一页返回16.2准心点功能制作导入准心点的UI素材,把图片格式切换成Sprite(2D和UI),在CardboardMain的Head下的MainCamera中添加一个画布,将画布的RenderMode设置成WorldSpace,新建两张image,一个是圆心点,另一个是红色圆环,如图16.6所示,圆环的Image类型设置为Filled,可填充模式,把FillAmount值设置为0;调整画布的位置和大小,让它位于屏幕中心,如图16.7所示。给红色圆环加上脚本Ring.cs,来实现准心点加载功能,主要原理是在Update方法里,通过发射射线检测碰撞,碰到需要交互的物体,加载准心点,准心点加载完后触发相应的动作(开关电视、播放钢琴曲、开关门等)。下一页返回16.2准心点功能制作在Awake方法里先找到主摄像机和红色圆环图像组件,在Update方法里,每一帧发射一条射线,当射线碰到物体时加载准心点圆环,射线离开物体,取消准心点加载。保存脚本,在场景里新建一个Cube,放到摄像机的前面,运行游戏,调整CardboardMain的角度,让摄像机看着Cube,测试准心点加载效果,如图16.9所示。上一页返回16.3开关门功能制作(1)找到场景中的门对象,重命名为door,给门添加一个碰撞器BoxCollider(只有加了碰撞器,射线才能检测到)。(2)给门添加一个open/close开关门动画。选中门对象,按Ctrl+6组合键打开动画编辑窗口,创建一个open的动画片段,添加Rotation属性,设置关键帧,调整门模型的角度。(3)创建完动画后,会默认在虚拟样板间的模型shljz上面添加一个动画控制器AnimatorControl,打开动画控制器窗口,编辑动画状态机,设置一个Trigger类型的动画过渡条件door,用来切换开关门动画。把open和close的动画片段的循环播放属性去掉,只播放一次。下一页返回16.3开关门功能制作

在代码里实现准心点看着门,准心点加载完毕后执行开/关门动作。在Awake方法里,先找到虚拟样板间shljz对象,从它身上获取动画控制器组件Animator。在Update方法里,准心点加载完毕后,判断射线是否碰撞到door,是的话通过动画控制器SetTrigger来播放开关门动画。保存脚本,运行游戏,调整CardboardMain的位置,让准心点看着门,准心点加载完毕后门会自动打开。上一页返回16.4室内漫游功能在虚拟样板间实现漫游功能。准心点看着地板,准心点加载完毕后摄像机会移动到准心点的位置,以此来达到在样板间漫游的效果。给可漫游的区域地板添加碰撞器Collider组件。选中地板模型,添加BoxCollider组件,所有能移动到的地板模型的名字都要重命名为floor(射线检测碰撞时要用到)。在代码里添加漫游功能。在Awake里找到VR相机,如图16.19所示。下一页返回16.4室内漫游功能

在Update方法里判断准心点是否看着地面,是否需要执行移动,把VR相机坐标设置为射线与地板碰撞点的坐标,如图16.20所示。保存脚本,运行游戏,调整CardboardMain的旋转角度,让摄像机看着地面,测试室内漫游功能。上一页返回16.5播放钢琴曲功能介绍:准心点看着钢琴,播放、关闭钢琴曲。(1)首先把MP3格式的钢琴曲导入到Unity。给钢琴的琴键改名为paino,同时给它加上碰撞器,让它可以被射线碰撞到,如图16.22所示。(2)给paino添加一个AudioSource组件,用来控制声音播放。把paino.mp3文件拖到Au

文档评论(0)

酱酱 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档