赞
踩
Unity手册:Unity User Manual 2021.3 (LTS) - Unity 手册
Playground官方教程:Unity Playground - Unity Learn
Playground下载安装:Unity Playground | 视频教程项目资源 | Unity Asset Store(安装方法见Unity学习笔记(一)Unity的界面和操作)
Playground框架介绍及教程:Unity Playground 是一个开发基于物理的 2D 游戏的框架,可以在 Unity 中无需代码来制作游戏。
(Unity Playground - Unity Learn)
(Playground:参考指南 - Unity Learn)
在Assets中找到 Playground 框架自带的pdf教程:
Unity Playground 提供了一系列易于使用和整合的单任务组件,因此不要求具有编码技能。可以作为Unity纯新手学习制作游戏、游戏设计的第一个里程碑。在通过Playground制作几个游戏后,就可以尝试在项目中加入自己的图形、自己的代码。
学习Playground前需要掌握Unity界面、游戏对象、组件、预制件等。
在导入Playground资源后,可以在Project窗口看到很多新的资源。
Scripts | 最重要的就是scripts脚本,分为Gameplay、Movement和Attributes等。每个脚本都是一个组件,执行着最基本的动作,并且一般是互相结合来创建不同类型的Gameplay。 |
Images | 用于制作游戏的不同用途的图片。 |
Prefabs | 用Images中的图片预制的角色。 |
飞船游戏:控制飞船躲避陨石。
① 将Project窗口->Images->Backgroungs文件夹的BG_space图片拖入Hierarchy窗口。
② 在SpriteRender中将DrawMode属性值从Simple设为Tiled(可调整尺寸)。
③ 将VisibilityOptions->SortingLayer属性值从Default设为Background(图片始终位于最底层)。
④ 拖动放大图片,使之覆盖整个白框范围(摄像机视角区域),更大尺寸也可以。
① 添加角色:将Project窗口->Images->Spaceships文件夹的SpaceshipRed图片拖入Hierarchy窗口,将自动创建一个游戏对象,这将作为player。
② 角色对象命名:选择player,将对象命名为“Player_Red”,将Tag设为Player。
① 添加运动脚本:选择Player_Red对象,点击AddComponent,搜索并点击Move脚本,或者,在Project窗口->Scripts->Movement文件夹将Move脚本拖动到Scene视图的对象上(对象上会显示脚本图标)。Push脚本添加同理。这里会同时添加Rigidbody2D脚本,Push/Move脚本依赖于Rigidbody2D。Rigidbody2D脚本会确保飞船遵守物理定律。(若脚本图标过大,可以在Scene视图的下拉菜单中,拖动3D Icons滑动条调整大小。)
② 第一次运行:在Game视图中,点击Play来测试游戏,此时飞船控制较难。
③ 修改物理值:将Rigidbody2D->Gravity设为0,这里不需要重力。修改Rigidbody2D->Friction(10)、Move->Speed(8)、Push->PushStrength(4)来调整角色的移动。(Play模式下的修改不会保存。)
④ 修改控制键:Move->TypeOfControl修改方向键/WASD控制,Push->Key修改控制按键。
① 添加障碍物:障碍物创建通角色创建,将/Images/Asteroids/Asteroid2拖入Hierarchy窗口,并调整到适当的位置和大小。同时添加Rigidbody2D脚本,合理设置Mass、Friction、Grivity(0)。
② 添加碰撞:为障碍物和角色添加Polygon Collider2D,使之可以碰撞其他对象。
③ 添加伤害:为障碍物添加Modify Health,使其对冲击到的游戏对象造成伤害/治疗。
④ 添加伤害监测:为角色添加Health System,使之能够检测到伤害。该脚本不仅能给角色生命值,并切能够设定初始生命值Health。
注:可以将该障碍物设为预制件Prefab,可以再复制障碍物后,同时修改所有的障碍物。
① 添加UI:将UserInterface拖到Hierarchy中,UI自动出现Game视图中(Scene视图没有)。
① 添加收集物:收集物通过创建角色创建。将/Images/GameElements/Star拖入Hierarchy窗口,并调整到适当的位置和大小。
② 添加可收集性:为收集物添加Collectable脚本。
③ 添加碰撞:为收集物添加PolygonColloder2D,使之可以监测到被收集。此时,需要使能IsTrigger属性。
注:Trigger是碰撞的特殊类型,使该物体不能被其他物体触碰,但是能监测到其他物体进入(即可以监测到碰撞行为,但是不发生碰撞结果)。例如,在终点放一个Trigger,当玩家触碰到,则通关,但是玩家不会看到任何碰撞发生。
① 目标分数:在UserInterface组件中的ScoreToWin属性设置为1(游戏目标),同时保证GameType属性为Score。在收集物的Collectable组件的PointsWorth属性设置为1(单次得分)。
在之前的案例中,会发生角色移动到视角之外消失不见的情况,这是因为主相机MainCamera没有跟随。
① 添加相机跟随:为MainCamera添加CameraFollow脚本,并选择目标Target为角色。
② 设置相机限制:通过Limits-UseBounds为相机设置边界,可以在Scene中直接拖动角标或者在Inspector中设置。此时在Game中,相机移动到边界后,不再向外移动。
在Inspector窗口中的Tag属性进行设置。
Tag可以将不同的对象分类,脚本也根据对象的tag执行动作。没有Tag的话,脚本将无法区分对象。
在碰撞中,很多脚本需要依赖正确的Tag进行工作。一般脚本不正常工作,都是Tag没有设置正确。
在Playground包中,使用碰撞来创建游戏性gameplay。碰撞,即两个对象接触到对方。触发,即一个对象进入另一个对象。
例如,碰到敌人受伤、碰到物品升级、收集硬币、把门撞碎并进屋等。或者,类似rogue类游戏中,设置一个对话线,当一个角色进入时,触发对话。
在Unity中使用自己的2D图形,只需要将之拖如Assets文件夹。图片将作为Sprite导入,并可以使用,使用方法同2.2、创建角色。
不是正方形的图片需要有透明性,否则,其他部分将会有白色背景。建议使用有透明性的.png和.gif格式。Unity不支持动画.Gif。
通过UserInterface预制件可以自动设置UI界面,同时可以设置角色数量、游戏模式、游戏类型。
游戏模式:Score得分模式,角色获得指定的分数,将赢得游戏。Life生命模式,角色的生命为0,将输掉游戏。Endless无尽模式,不会赢、输,游戏没有结束。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。