• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Unity好插件:PlayMaker系列一上半部分只用插件和脚本完成弄一个简易的游戏

武飞扬头像
dangoxiba
帮助1

学习目标:

   对于PlayMaker,笔者在很早期学习中就有意识到这个插件被大伙一整乱吹,当时我觉得做个游戏肯定需要海量的脚本这PlayMaker一看就不可靠,但最近得知我贼喜欢的游戏《空洞骑士》里面大量的逻辑事件(例如敌人的行为)都是由PlayMaker制作的,于是心生好奇去Asset Store看了一下,Playmaker | Visual Scripting | Unity Asset StoreGet the Playmaker package from Hutong Games LLC and speed up your game development process. Find this & other Visual Scripting options on the Unity Asset Store.学新通https://assetstore.unity.com/packages/tools/visual-scripting/playmaker-368学新通

就感觉这个收藏量是其它插件永远无法超越的,下面列出他的介绍 

学新通

反正听起来就挺牛逼的,大概意思是我的动作的C#脚本,你可以在可视化界面上调用起来它们,而且更高效,需要的代码?不存在!

以下列出官网的功能:

学新通

反正是他说的很多我还不到,毕竟刚入门,


 PlayMaker究竟有多火,B站竟然能搜到有关PlayMaker的教学,于是我看完一个基础入门的,对这个功能大致了解了,但还是推荐大家去Youtube网上看别人制作商专业讲解,而且你们不要挑太老的视频看,都什么年代还在看15年左右的视频,贴个连接:使用Unity與Playmaker做遊戲_哔哩哔哩_bilibili,根据这位省港澳讲师的讲解,于是我跟了一遍他的视频后也尝试自己做了一个。

事不宜迟,我们开始吧

学习内容:

  首先我们需要在Asset Store买一个PlayMaker($65美刀啊血马贵,建议等活动打折的时候再买)然后你就可以看到在Uniyt里面的PackageManager -> My Asset里面找到他(这不用我教了⑧)Import过后学新通

点击第一个Install PlayMaker 然后看左上角的界面有个Editor的,点他就可以出现一个界面了学新通

 我们把他固定到左下角。

接下来我们还需要资源,首先在Github上先搜索flappy brid,我们找到有关这个游戏资源,但我到最后只找到一张背景图,而且那些鸟都是3D的长的巨抽象,还有个傻*放一张鬼图在资源里给老子吓死了。

就在我苦思冥想之际,我突然想到一个游戏Up主自制的魔改flappy brid,我就想OKOK,然后就去下载它的资源,用Asset Studio反编译提取他的Unity文件,果然找到好几只鸟,然后提取出来后,这些就是我找到的游戏原图学新通

反正随便用几张也够用了。

我们继续回到Unity

我们先把游戏界面调成9:16让它有手机竖屏的感觉,然后创建一个3D Objet -> Quad名字叫Background吧,然后回到把背景的Wrap Mode改成Repeat学新通

学新通

创建一个Material然后把图片作为纹理Texture2D传入进去,学新通

别忘了还要把材质球赋给我们创建的这个3D物品 

 那我们还需要一个脚本(本项目唯一的)来让背景滚动起来

  1.  
    using System.Collections;
  2.  
    using System.Collections.Generic;
  3.  
    using UnityEngine;
  4.  
     
  5.  
    public class BackgroundScroller : MonoBehaviour
  6.  
    {
  7.  
    private Material background;
  8.  
    [SerializeField] private Vector2 scrollOffset;
  9.  
    private void Awake()
  10.  
    {
  11.  
    background = GetComponent<Renderer>().material;
  12.  
    }
  13.  
     
  14.  
    private void Update()
  15.  
    {
  16.  
    background.mainTextureOffset = scrollOffset * Time.deltaTime;
  17.  
    }
  18.  
    }
学新通

没错就这么简单,只需要每帧去调用material.mainTexureOffset,而且似乎这个也可以用PlayMaker来实现,只是我不知道而已。

那我们还控制玩家的移动吧。

首先把玩家图片拖到正中间,然后给它一个PlayMaker的脚本(或者直接拖拽到PlayMaker界面) 

这样的话你会发现游戏对象旁边多了一个玩字,而GUI就是控制在屏幕上你设置的显示学新通

学新通

而我们可以通过状态机来实现玩家控制

名字就叫飞行控制吧学新通 

刚开始有个名字叫State1的这就是开始运行的地方,我们在State把他改名。学新通 

试想一下,我们要让鸟向上飞,是不是要按键输入,然后设置y轴方向的速度,那我们需要两个Action动作,点击下面的Action Browser学新通

 学新通

 然后又会弹出一个界面,这个界面是PlayMaker包含的全部动作合集。

那我们先检测键盘输入的。只需要在上面搜索

学新通

回到State你就会发现卧槽我怎么多了一个动作学新通 

 Key你点开看到Space,意思是我按下键盘的空格就会触发事件,你问我这个向上飞的时间是嘛,这个就是第三个Events的事了,我们在EVnets下创建一个事件学新通

 那既然有事件了肯定要有监听事件的对象了,如果你没有那么就会报错了,这时候我们右键点击学新通

下面就会多出一行名字叫向上飞的,这时候我们就按住Crtl把箭头往一处拖再松开,就会多了第二个状态State,在这个状态我们来处理我们监听到的事件,老规矩ActionBrowser搜索设置速度的学新通 

 (Space表示的你的坐标系是世界的还是自身的

  我们还可以给鸟增加一个向上的旋转看上去是努力往上飞的,

只需要每次触发事件的时候把他的Z轴改成15-30度之间即可,学新通

 不要以为这就完了,因为如果你仅仅只能触发一次事件,却不能重新循环到刚开始的状态,这时候我们同样需要创建一个事件作为跳跃结束的时候调用,学新通

在松开跳跃键的时候我们就回去学新通 

学新通

于是我们就可以让brid飞飞飞。

接下来我们来创造一下水管吧,

把资源拉出去,学新通 

学新通 这是我设置的上面和下面的水管,我们可以让他们一开始生成的时候随机高度,这时候也可用动作来实现,

学新通学新通

这里为什么Set Position 2D的Space是Self你后面会知道的,我们的Min和Max需要你自己动手自己测量一下多高他才合理不会露馅 

 最后我们创建一个空对象Tube作为它们两个的父物体,这就是为什么Set Position 2D的Space是Self

学新通

 Ok我们也给他创建一个PlayMaker,大伙先想想,刚开始是不是要让水管在屏幕外生成,那我们在连接Start这个State上给它设置一个位置学新通

 而且我们要让水管朝着玩家的方向移动,因为玩家默认的X和Z轴方向是没有速度的,朝着玩家方向移动从视觉上看玩家是向前飞的,学新通

你已经看到我有个自动清除水管的State状态,因此我们设置:在移除屏幕外的时候,我们需要Destroy掉,这时候Variables就派上用场了,学新通 

 学新通

我们在底下创建一个变量名以及它的类型,这样就好,回到State上,我们为此创建一个Get Postion动作,并且勾选Every Frame表示每帧调用这个动作学新通 最后我们需要一个Float Compare浮点数比较器,当值1小于值2的时候就触发事件,因此我们需要创建一个事件先学新通

学新通

 老规矩右键点击事件名然后按住Cril拖出来,这时候我们处理这个事件

,只需要销毁这个游戏对象即可 

 学新通

我们开始游戏试玩一下我们已经实现的功能:

学新通

学新通

 (这个计分器大伙别急,我后面才会讲到)

  那么这期就先到这里了,下一期我会接着制作GameManger控制玩家旋转以及UI显示数字,而这些都是用PlayMaker来实现,那么等我吃完午饭,我们下期再见

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhhehhif
系列文章
更多 icon
同类精品
更多 icon
继续加载