基于Playmake可视化交互实现Unity3D场景漫游
2020-12-08杜凯
杜凯
摘要:在Unity3D学习中基于Playmake 插件高效快速实现场景漫游,通过案例使学生利用Playmake为切入点来进行学习,能运用有限元状态机的设计思路在Unity3D中设计并培养交互逻辑。
关键词:Playmake;可视化交互设计;FSM编程策略
中图分类号:TP391.9 文献标识码:A 文章编号:1672-9129(2020)16-0061-01
虚拟现实(VR)技术作为数字媒体技术的一种表现终端及形式,用来创建与体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是以多源信息融合交互式的三维动态视景和实体行为的系统仿真,使体验者能沉浸到环境中。而Unity3D正是目前非常流行的三维游戏开发引擎,具有软件操作学习容易,开发包较多的优势。在设计虚拟现实漫游开发项目中应用十分广泛,是开发虚拟现实项目优先选择的工具,也是数字媒体技术专业学生需要掌握和运用的新技术。
在教学和学习过程中如何让专业学生系统学习和掌握虚拟现实开发相关技术,熟悉与了解Unity开发各种相关的插件,可以更高效快速的完成效果呈现,对学生在学习Unity3D游戏引擎中培养学习兴趣起到关键性作用,也能在后期利用Unity3D开发项目中能够起到事半功倍的效果。本文以数字媒体技术专业学生为研究对象进行教学探索,在Unity3D中基于Playmake 插件高效快速实现场景漫游,并通过简单案例使学生利用Playmake为切入点进行学习,使学生能运用有限元状态机的设计思路在Unity3D中设计并培养交互逻辑。
1 Playmake 概述及实现效果
PlayMaker是Unity3D的一款可视化的有限元状态机(Finite-state machine,简称FSM) 插件,通常用来进行交互设计,既是可视化脚本工具,又可以分层逻辑框架,能够很快地进行游戏原型制作,能够大大提高开发效率和成果展现。它的优点:(1)具备较多动作行为,例如通过状态机FSM实现,跑、跳、攻击等动作行为。(2)集成帮助,可以快速进行查看行为说明。(3)设置断点和单步执行状态。(4)方便编写自定义行为。(5)支持各类插件配合使用,加速开发进程。(6)方便简洁的图表管理每个状态机。(7)预览播放游戏,进行实时错误检查。
2 快速掌握培养学习兴趣
在使用Unity3D相关插件的时候,与学习C#编写Unity中的脚本代码相比,开发的时候可利用Playmaker内置的众多Action,在C#中代码编写中需要多行代码才能完成的一个功能,而用Playermaker通常幾个步骤就能完成。所以Playmaker更容易在短时间掌握,快速上手。学生在学习Unity3D的同时基于这两个有点,无论是学习者独立开发,还是快速做出产品原型来说,Playmaker都是很好学习工具。
3 技术路线及学习操作步骤
通过对Unity3D引擎以及相关,建立虚拟的三维模型,然后基于Unity3D 引擎实现第一人称交互。广泛运用范围例如实现室内及场景漫游。
首先搭建基础场景,可以利用Cube搭建一个基础场景或利用以及建好的场景模型为案例,利用playmaker实现环境的昼夜更替。
(1)为DirectionalLight添加FSM。
利用FSM将被设对象的复杂行为特征归纳为有限个不同的“状态”,然后在每个状态中分别指定一系列“行为”让处于该状态的被设对象来执行,同时设置相对于的“条件”,而在FSM中称做“事件”,当设置条件被满足时事件能够被触发,被设对象从当前状态变换为另一个状态,由此带来其所执行“行为”的变化。
(2)为sun rotate状态添加“Rotate” Action。
(3)新增Variables参数。
(4)设置“Rotate” Action。
(5)测试查看效果。
再例如:利用Playmake添加手电筒,实现开关手电筒交互。
(1)导入人物标准资源包。
(2)导入人物(FPS Controller)。
(3)新建聚光灯。
(4)绑定聚光灯。
(5)调整聚光灯位置。
(6)测试手电筒效果。
(7)添加Play Maker FSM。
(8)新建事件。
(9)为light close状态添加Action,为light on状态添加“Activate Game Object”Action。
(10)light close状态绑定手电关闭,将“Activate Game Object”Action内的Game Object矩形框绑定Spot Light,并将Activate后的矩形框的√去掉。
(11)利用“Get Key Down”Action设置链接,分别为两个状态添加将“Get Key Down”Action,响应按键均为“F”,索引的事件分别为“on”和“close”,达成。
(12)测试查看效果。
4 培养学习逻辑
在Unity3D 中,是以层次关系来组织相关物体的。使用者以第一人称视角在构建的场景中进行漫游,按住鼠标左键,摄像机可以随鼠标转动方向来观察环境位置,按住键盘W(前)、S(后)、A(左)、D(右)键摄像机对应范围移动,按住空格键可以实现跳跃的控制。不同状态下的行为设计是相互独立的,而且与交互逻辑的设计本身也是相互独立的。可以在进行行为设计之前就完成完整的交互逻辑设计,然后再逐步添加从简单到复杂的各状态行为。另外系统中加入了背景音乐距离变化、不同位置环境光源变化等,从而增强了环境的真实感。
通过Playmake案例的实施,在学习中使脚本可视化,对逻辑框架进行分层,让学生对构建场景物件和事物更加直观的学习与使用。与此同时,Unity3D的学习中还可以通过其他插件来进行快速开发项目,比如;环境、地形构建类插件Gaia 、MapMagic World Generator 、World Creator等。在素材、动画设计类插件Amplify Shader Editor、Surforge 、NGUI、UMotion Pro 等。再如;虚拟现实插件VR Panorama 360 PRO Renderer、Final IK等。
学习与使用PlayMaker可视化交互工具方法只是第一步,更重要的是利用这类工具去锻炼学生学习一种交互设计的思维方法。而PlayMaker可视化交互设计插件,使用FSM“编程策略”的设计思路给学习者提供一个较为快速制作玩法原型的工具,让学生能够独立把脑海中想象的玩法设计实现出来,提高学习兴趣,降低入门难度。而掌握PlayMaker的特性和功能建立一种思维习惯,这种思维方法和思维习惯,是可以运用到其他软件工具中,从而可以高效的解决实际问题。
参考文献:
[1]宣雨松,Unity 3D游戏开发(第2 版)[M].人民邮电出版社,2018
[2]董涛,张瑛,基于Unity3D的第三视角射击类手游设计与实现[J].通讯世界,2019(11)
[3]陈睿,基于SketchUp 和Unity3D 的虚拟校园漫游系统[J].2019年 第 06 期
[4]李维,张二虎,郭宸磊,三维可视化设备辅助的《Unity3D开发》教学探索[J].中国教育信息化,2020(04)