• 原理:用UE5制作一个2D游戏


    新手半小时入门版教程https://www.youtube.com/watch?v=tVH0VTY-c8o

    12小时4个案例教程: https://tinyurl.com/Ultimate2D 

    https://www.youtube.com/playlist?list=PLEHVxFO1I6emx7h6OxVSa9g8_TPZ0BsI_

     [英文直播]用PaperZD来管理2D动画(官方字幕)
    [英文直播]用PaperZD来管理2D动画(官方字幕)_哔哩哔哩_bilibili

    免费可商用的二维素材网站 

    aigc自己创造:

    AIGC教程:如何用Stable Diffusion生成完美的像素美术?

    Game Art 2D: 
    https://www.gameart2d.com/
    CraftPix: 
    Free 2D Game Assets - CraftPix.net
    itch.io: 
    Top game assets tagged 2D - itch.io
    GraphicRiver: 
    Game Assets from GraphicRiver
    Super Game Asset:
    Super Game Asset - Buy 2D Game Resources, Game Icons, Isometric Sprite, Game Maps
    GameDev Market: 
    Game Assets for Indie Developers | GameDev Market

    基本步骤

    选中资产图片右键--Sprite Actions--Apply Paper2D Texture Settings

    (这么做的原因是为了把这张位图变成矢量图,放大了也不会模糊)

    制作场景

    把它丢到场景里,并把坐标归零

    创建图块集tileset

    打开新建的tile set,根据最小图块设置最小尺寸单元(可以根据素材网站的提示来设置)

    选择需要的图块单元,add box(这是为了添加碰撞,让人物能有阻挡、站立在上面的效果)(如果已经设置好了地图,在更新了碰撞状态之后,需要点击Refresh Maps来更新地图)

    对新建的tile set右键创建tile map 

    打开,选择图块,用笔刷涂上去,创建一个岛屿

    拖入场景如下图 

     更改光照效果 

    在2D游戏里关掉lumen效果

    制作角色 

    全选角色图片,右键Sprite Actions--Create Sprite

    对第一个FB_Player_Idle做如下调整

    相同操作对jump和run都做flipbook

    摆放角色

    在蓝图文件夹里新建一个paper character,重命名为BP_SpriteCharacter

    放入角色,并且调整胶囊体和角色的位置大小,如下图 (放大角色而不是缩小胶囊)

    拖入场景使其运行起来如图

    配置一个弹簧摄像机

    删除角色,放一个PlayerStart,尺寸和位置可以调整一下

    新建一个GameMode重命名为GM_SideScroller

    播放的时候场景是正常的 

    修改摄像机的值如下

    因为之前项目设置的自动曝光让角色看起来像褪了色,可以通过设置下面两项来调整光照

    写蓝图

     在工程设置里输入input如下 

    对BP_SpriteCharacter

    一些小细节

     

    项目设置里关掉动态模糊 

    将角色限制为只能左右走

    更改摄像机为正交摄像机

    角色闪烁教程

    出现的情况:角色刚出场时闪烁/角色收到袭击时闪烁

    在Sprite里新建函数Toggle Sprite Flicker

    右键选中变为函数开始闪烁

    开始闪烁函数:

    新建函数StopSpriteFlicker

    闪烁个两秒,变回正常

    角色发光教程

    复制到content

    分别命名为M_CustomLitSprite和M_CustomUnlitSprite

    两个材质都右键创造一个实例(MI_CustomUnlitSprite为有颜色的发亮,MI_CustomLitSprite为无颜色的发亮)

    在M_CustomLitSprite的蓝图中新建如下节点

    右键折叠成函数,重命名为发光特效

    把角色的材质改成MI_CustomLitSprite

    PaperZD

    准备小人

    在虚幻引擎里建立文件夹Character,将往上的人物png素材拖入,重命名为T_Red

    再右键,extract sprites,点击确定提取

    小人被这样子提取出来了

    可以任意点击其中一个,选择上面的Src Tex检查小人的位置以及有没有被裁减过多,通过source UV和Source dimension来调整

    将橙色小人的动作分类到下面的文件夹

    分别右键创建FlipBook 

    对其他方向的小人都做如上的操作。做完之后↓如下操作

    全选小人做批量操作,都改成7,然后保存

    角色蓝图

    新建一个PaperZD角色蓝图,重命名为BP_TopDown_Char

    对所有sprite做批量放大的操作

    对角色蓝图做此调整(放大角色而不是缩小胶囊)

    做一个俯视的相机

    动画部分

    右键新建一个AnimationSource,重命名为AS_TopDown_Char

    将八个方向的idle、walk都放进去

    动画蓝图

    右键新建一个PaperZD AnimBP,重命名为ABP_TopDown_Char

    将这个动画蓝图放到角色蓝图的动画类部分

    右键创建一个文件夹Input,在文件夹里新建一个Input Action,重命名为IA_Move

    打开之后更改为2d

    新建Input Mapping Context,重命名为IMC_TopDown

    设置角色方向

    一些小细节

    防止在斜面上滑落的设置

    角色的掉头设置

    项目设置

    右键新建一个GameMode蓝图

    动态模糊更适合3D游戏

    TSR适合3D游戏

    FXAA更适合像素游戏

    设置角色方向

    切换idle/walk状态

    在BP_TopDown_Char蓝图中新建一个布尔变量Is Holding Move

    将ABP_TopDownChar的蓝图改为

    添加墙面检测

    神奇宝贝的游戏里,角色遇到阻碍墙的时候,速度会变慢并且发出撞墙的音效

    在AS_TopDown_Char的walk中添加一个通知Stuck Notify,时间放在第一帧

    2D/3D结合

    现在我们把它变成如下的2D/3D结合的样子

    从虚幻商城里下载一些好看的场景

    调整角色蓝图参数

    教程:具有边缘照明的2D角色

    https://www.youtube.com/watch?v=vIBW0j7JDRQ&list=PLEHVxFO1I6emx7h6OxVSa9g8_TPZ0BsI_&index=7

    具有光照效应的2D角色

    角色的材质改成MaskedLitSprite

  • 相关阅读:
    【web-渗透测试方法】(15.8)测试逻辑缺陷、共享主机漏洞、Web服务器漏洞、信息泄露
    一文带你用 Mac M1 跑 RocketMQ
    Flutter 精品项目大全之 侧边栏银行管理完成App(教程含源码)
    Shopee开店要花多少钱?
    智慧社区建设指南参考规范汇总
    1.5-16:买房子
    ubuntu安装多个版本的CUDA
    python学习笔记(4)—— 模型
    ASEMI肖特基二极管MBR16200CT图片,MBR16200CT应用
    Python趣味算法入门 - 兔子产子
  • 原文地址:https://blog.csdn.net/weixin_42229060/article/details/133691240